Skip to main content

CAS用户对接

UIC支持基于标准CAS协议,从而实现业务系统到UIC的单点登录功能。 本文主要包含以下内容:

  • 认证说明 - CAS协议的简单认证流程时序图说明,以及交互参数
  • 操作步骤 - 从新建开始配置一个CAS用户对接方法
  • 参数说明 - 对CAS用户对接配置中的特殊参数进行说明
  • FAQ - 常见问题以及其对策

认证说明

CAS(Center Authentication Service)是耶鲁大学研究的一款开源的单点登录项目,主要为web项目提供单点登录实现,属于Web SSO。一个典型的CAS认证流程如下:

  1. 用户登录使用CAS认证方式的CAS Client(客户端)
  2. 重定向至CAS Server(认证端)并携带CAS Client的URL地址便于认证后跳转。
  3. 根据CAS Server中的Cookie信息判断用户是否为初次登录,若不存在Cookie,则用户需要输入帐号密码认证;认证成功后CAS Server生成TGT(Ticket Granting ticket,CAS的用户认证票据);并根据TGT在生成一个ST(Service ticket,由TGT生成的一次性票据)
  4. 携带ST和TGC(Ticket Granting Cookie,携带用户身份信息的Cookie)返回至Web Browser(浏览器)
  5. CAS Client携带ST再度请求CAS Server进行验证
  6. 验证通过后返回用户信息,成功登入系统
note

更多信息可参考 CAS官方文档

操作步骤

  1. 用户对接 中 新增CAS认证方式

img

  1. 配置「基础设置」-「参数配置」中CAS、Ticket对应的认证地址,Redirect URL对应CAS认证回调地址,默认为平台账号认证地址 https://host.com;可根据具体访问地址修改;

img

  1. 配置 映射配置 ,将CAS认证返回中的参数映射为UIC中的对应参数
  2. 配置 同步配置 ,对CAS登录的个人信息进行同步模式等信息设置
  3. 配置 租户配置 ,设定CAS账号默认同步的租户
  4. 完成 用户对接 配置,确认对应对接方式为 启用 状态
  5. 在UIC 登录中选择对应的登录方式,即可使用CAS认证登录

认证流程

img

参数说明

基础设置

img

参数配置参数说明
CAS认证URLCAS Server URL Prefix参数,例如: https://www.cas.validateUrl/login
Ticket认证URLCAS 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 即可。其他参数同理。