James.Lv 发表于 2022-12-12 19:11:04

【Wyn 6.0 Update1】更灵活的嵌入式分析能力(3):支持CAS/OAuth集成方式

本帖最后由 Eden.Sun 于 2023-1-5 18:09 编辑

Wyn V6.0 Update1版本来了,新版本又增强了非常多的功能,作为一个企业级商业智能和报表软件,嵌入式能力是重中之重,用户可以直接使用Wyn作为单独的数据分析平台来用,也可以将Wyn嵌入到现有的业务系统,作为现有业务系统的增强功能来用;对于嵌入式集成来说,进行用户身份集成,单点登陆集成往往是第一步,用户不希望多个系统需要来回手动登陆账户,而是一个系统登陆之后,其它系统访问时就不需要再次登陆了,因此在Wyn V6.0 Update1版本上针对嵌入式集成增强了哪些功能呢?下面就给大家详细的介绍一下




在Wyn V6.0 Update1版本上支持了多种单点登陆集成,例如CAS单点登陆,以及OAuth单点登陆,以下以OAuth为例进行具体介绍
测试使用的是Google云服务为Wyn配置单点登陆,
谷歌的API配置可以参考文档:
https://www.jianshu.com/p/c17ded4fd677?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes

配置步骤:
1.在Wyn的配置文件Wyn.conf中添加SSO节点。
选项“AuthenticationProtocol”必须是“OAUTH”。
选项“Scheme”是可选的,如果未在配置文件中指定此选项的值,则此选项的值将设置为“OAuth”。
选项“Disabled”用于禁用SSO功能。
选项“AuthorizationEndpoint”,“TokenEndpoint”,“UserInformationEndpoint”,“ClientId”和“ClientSecret”是强制性的,您可以在Google云服务中找到它们。
选项“CallbackPath”是可选的,如果未指定,此选项的默认值为“/signin-oauth”,请注意“回调路径”必须与您在Google云服务中指定的“重定向URI”匹配。
<Server>
<Authentication>
    <SSO>
      <AuthenticationProtocol>OAUTH</AuthenticationProtocol>
      <Scheme>Google</Scheme>
      <AuthorizationEndpoint>https://accounts.google.com/o/oauth2/v2/auth</AuthorizationEndpoint>
      <TokenEndpoint>https://www.googleapis.com/oauth2/v4/token</TokenEndpoint>
      <UserInformationEndpoint>https://www.googleapis.com/oauth2/v2/userinfo</UserInformationEndpoint>
      <ClientId>{your_client_id}</ClientId>
      <ClientSecret>{your_client_secret}</ClientSecret>
      <Scopes>
      <sys:string>openid</sys:string>
      <sys:string>profile</sys:string>
      <sys:string>email</sys:string>
      </Scopes>
      <ClaimMappings>
      <sys:Item>
          <Key>sub</Key>
          <Value>id</Value>
      </sys:Item>
      <sys:Item>
          <Key>name</Key>
          <Value>name</Value>
      </sys:Item>
      <sys:Item>
          <Key>given_name</Key>
          <Value>given_name</Value>
      </sys:Item>
      <sys:Item>
          <Key>family_name</Key>
          <Value>family_name</Value>
      </sys:Item>
      <sys:Item>
          <Key>email</Key>
          <Value>email</Value>
      </sys:Item>
      <sys:Item>
          <Key>avatar</Key>
          <Value>picture</Value>
      </sys:Item>
      </ClaimMappings>
    </SSO>
</Authentication>
</Server>2.设置 Cookie 选项。
我们需要将“Cookie:SameSite”设置为“None”,并将“Cookie:Secure”设置为“true”,以便跨域设置cookie。
<Cookie>
<ShareCookie>false</ShareCookie>
<SameSite>None</SameSite>
<Secure>true</Secure>
</Cookie>3.配置是否允许隐身用户登录。
有一个选项“SSO:AllowIncognizantUser”,用于指示 Wyn 中不存在的用户是否也可以通过 SSO 进程登录 Wyn,
设置为 “true” 表示来自 SSO 身份验证服务器的所有用户都可以登录到 Wyn。
为防止隐身用户登录,客户需要先将允许的用户导入Wyn,
请注意导入用户的“提供商”必须与选项“SSO:Scheme”的值相同。

最后实现的效果,浏览器登陆了谷歌账号,就可以直接访问Wyn,不需要再次登陆。如下图所示:






页: [1]
查看完整版本: 【Wyn 6.0 Update1】更灵活的嵌入式分析能力(3):支持CAS/OAuth集成方式