Skip to main content

CAS用户对接

本节介绍如何在UIC中配置对应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官方文档

CAS认证

操作步骤

  1. 用户对接 中 新增CAS认证方式
  2. 配置 基础设置-参数配置 中CAS、Ticket对应的认证地址,Redirect URL对应CAS认证回调地址,默认为平台账号认证地址 https://host.com;可根据具体访问地址修改;
  3. 配置 映射配置 ,将CAS认证返回中的参数映射为UIC中的对应参数
  4. 配置 同步配置 ,对CAS登录的个人信息进行同步模式等信息设置
  5. 配置 租户配置 ,设定CAS账号默认同步的租户
  6. 完成 用户对接 配置,确认对应对接方式为 启用 状态
  7. 在UIC 登录中选择对应的登录方式,即可使用CAS认证登录

参数说明

通用参数可参考 用户对接参数说明 部分内容。

基础设置

参数配置参数说明
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>

若超级管理员需要同步单点登录服务中 user 字段作为UIC的 账号字段,则在对应输入框内填入 user 即可。其他参数同理。