CAS用户对接
UIC支持基于标准CAS协议,从而实现业务系统到UIC的单点登录功能。 本文主要包含以下内容:
- 认证说明 - CAS协议的简单认证流程时序图说明,以及交互参数
- 操作步骤 - 从新建开始配置一个CAS用户对接方法
- 参数说明 - 对CAS用户对接配置中的特殊参数进行说明
- FAQ - 常见问题以及其对策
认证说明
CAS(Center Authentication Service)是耶鲁大学研究的一款开源的单点登录项目,主要为web项目提供单点登录实现,属于Web SSO。一个典型的CAS认证流程如下:
- 用户登录使用CAS认证方式的CAS Client(客户端)
- 重定向至CAS Server(认证端)并携带CAS Client的URL地址便于认证后跳转。
- 根据CAS Server中的Cookie信息判断用户是否为初次登录,若不存在Cookie,则用户需要输入帐号密码认证;认证成功后CAS Server生成TGT(Ticket Granting ticket,CAS的用户认证票据);并根据TGT在生成一个ST(Service ticket,由TGT生成的一次性票据)
- 携带ST和TGC(Ticket Granting Cookie,携带用户身份信息的Cookie)返回至Web Browser(浏览器)
- CAS Client携带ST再度请求CAS Server进行验证
- 验证通过后返回用户信息,成功登入系统
note
更多信息可参考 CAS官方文档
操作步骤
- 在 用户对接 中 新增CAS认证方式
- 配置「基础设置」-「参数配置」中CAS、Ticket对应的认证地址,Redirect URL对应CAS认证回调地址,默认为平台账号认证地址
https://host.com
;可根据具体访问地址修改;
- 配置 映射配置 ,将CAS认证返回中的参数映射为UIC中的对应参数
- 配置 同步配置 ,对CAS登录的个人信息进行同步模式等信息设置
- 配置 租户配置 ,设定CAS账号默认同步的租户
- 完成 用户对接 配置,确认对应对接方式为 启用 状态
- 在UIC 登录中选择对应的登录方式,即可使用CAS认证登录
认证流程
参数说明
基础设置
参数配置 | 参数说明 |
---|---|
CAS认证URL | CAS Server URL Prefix参数,例如: https://www.cas.validateUrl/login |
Ticket认证URL | CAS Validation URL参数,例如 https://www.cas.validateUrl/get-info |
Redirect URL | 对应CAS认证的重定向回调地址,默认为平台账号认证地址 https://host.com。实际需要根据具体访问地址修改。 |
映射设置
在映射设置中,需要将CAS返回值中对应的具体参数填写到输入框中以映射到具体的UIC参数中。 以如下CAS返回XML内容为例:
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess>
<cas:user>casuser</cas:user>
<cas:attributes>
<cas:credentialType>UsernamePasswordCredential</cas:credentialType>
<cas:isFromNewLogin>true</cas:isFromNewLogin>
<cas:authenticationDate>2018-03-25T22:09:49.768+08:00[GMT+08:00]</cas:authenticationDate>
<cas:authenticationMethod>AcceptUsersAuthenticationHandler</cas:authenticationMethod>
<cas:successfulAuthenticationHandlers>AcceptUsersAuthenticationHandler</cas:successfulAuthenticationHandlers>
<cas:longTermAuthenticationRequestTokenUsed>false</cas:longTermAuthenticationRequestTokenUsed>
</cas:attributes>
</cas:authenticationSuccess>
</cas:serviceResponse>
XMLCopied!
若超级管理员需要同步单点登录服务中 user
字段作为UIC的 账号
字段,则在对应输入框内填入 user
即可。其他参数同理。