[]
本文介绍如何使用 CAS 身份验证服务器为 Wyn 配置 SSO。
1. 在配置文件Wyn.conf中添加“SSO”配置节点。
选项“AuthenticationProtocol”设置为“CAS”。
选项“Scheme”为可选项,如果未在配置文件中指定,默认为“CAS”。
选项“Disabled”用于禁用 SSO 功能。
选项“CasServerUrlBase”为CAS服务器地址。
<Server>
<Authentication>
<SSO>
<AuthenticationProtocol>CAS</AuthenticationProtocol>
<Scheme>GroupOA</Scheme>
<Disabled>false</Disabled>
<CasServerUrlBase>https://xxxxxx</CasServerUrlBase>
</SSO>
</Authentication>
</Server>
2. 在配置文件 Wyn.conf 中设置 cookie 选项,同样加到 Server节点下。
将“SameSite ”设置为“ None ”并将“Secure ”设置为“ true ”,因为 SSO 流程需要跨域设置 cookie。
<Cookie>
<ShareCookie>false</ShareCookie>
<SameSite>None</SameSite>
<Secure>true</Secure>
</Cookie>
3. 配置是否允许陌生用户登录。
SSO节点下有一个选项“AllowIncognizantUser ”用于表示 Wyn 中不存在的用户是否也可以通过SSO流程登录 Wyn。
设置为“true”表示所有来自SSO认证服务器的用户都可以登录到 Wyn;反之设置为“false”则表示不允许 Wyn 中不存在的用户登录 Wyn。
为了防止陌生用户登录,需要先将允许的用户导入 Wyn,请注意导入用户的“Provider”必须与SSO节点下“Scheme”选项设置的值相同。
下图是一个设置好的示例,请参考。图中SSO的Scheme 为“GroupOA”,所以提前导入Wyn 中的用户信息“Provider”也必须填写“GroupOA”。
4. 配置 SLO。
将选项 SSO 下添加节点 “EnableSLO” 并设置为 “true”以启用单点登出。
如果注销 URL不是默认值 “CasServerUrlBase/logout”,那么还需要添加节点 "CasServerLogoutUrl"用来指定注销URL。
而如果想在退出CAS认证服务器的时候退出 Wyn,需要在CAS服务器的服务定义文件中添加如下配置:
"logoutType": "BACK_CHANNEL",
"logoutUrl": "{wyn_url}/account/cas-slo"