CAS协议单点登录开发文档
# CAS协议单点登录开发文档
# 一、认证接口
# 1 生成ticket
# 1 接口描述
生成ticket
# 2 请求路径
/api/sso/protocol/cas/login
# 3 HTTP请求方法
GET
# 4 请求参数
参数 | 参数类型 | 参数值 | 参数描述 |
---|---|---|---|
service | String | 应用地址 |
# 5 返回字段
302重定向
# 6 接口示例
调用参数:/api/sso/protocol/cas/login
成功返回:
//302重定向
http://172.16.0.60:8080/webroot/decision?ticket=ST-112-N5efAicwdB7vr6rFIdb7g4f3fUKABeYlEOQ
2
**失败返回:**无
# 2 校验ticket
# 2.1 V1版本
# 1 接口描述
校验ticket
# 2 请求路径
/api/sso/protocol/cas/validate
# 3 HTTP请求方法
GET
# 4 请求参数
参数 | 参数类型 | 参数值 | 参数描述 |
---|---|---|---|
service | String | 应用地址 | |
ticket | String | ticket |
# 5 返回字段
参数 | 参数类型 | 参数值 | 参数描述 |
---|---|---|---|
assertion | String | ||
username | String |
# 6 接口示例
调用参数:/api/sso/protocol/cas/validate
成功返回:
yes
zhangsan@paraview.cn
2
**失败返回:**无
# 2.2 V2版本
# 1 接口描述
校验ticket
# 2 请求路径
/api/sso/protocol/cas/serviceValidate
# 3 HTTP请求方法
GET
# 4 请求参数
参数 | 参数类型 | 参数值 | 参数描述 |
---|---|---|---|
service | String | 应用地址 | |
ticket | String | ticket |
# 5 返回字段
参数 | 参数类型 | 参数值 | 参数描述 |
---|---|---|---|
username | String |
# 6 接口示例
调用参数:/api/sso/protocol/cas/serviceValidate
成功返回:
<!-- ParaView version: 1.1.1_debug "2018-12-03T09:37:12.731Z" -->
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess>
<cas:user>zhangsan@paraview.cn</cas:user>
</cas:authenticationSuccess>
</cas:serviceResponse
2
3
4
5
6
7
8
9
10
11
**失败返回:**无
# 2.3 V3版本
# 1 接口描述
校验ticket
# 2 请求路径
/api/sso/protocol/cas/p3/serviceValidate
# 3 HTTP请求方法
GET
# 4 请求参数
参数 | 参数类型 | 参数值 | 参数描述 |
---|---|---|---|
service | String | 应用地址 | |
ticket | String | ticket |
# 5 返回字段
参数 | 参数类型 | 参数值 | 参数描述 |
---|---|---|---|
# 6 接口示例
调用参数:/api/sso/protocol/cas/p3/serviceValidate
成功返回:
<!-- ParaView version: 1.1.1_debug "2018-12-03T09:37:12.732Z" -->
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess>
<cas:user>zhangsan@paraview.cn</cas:user>
<cas:attributes>
<cas:longTermAuthenticationRequestTokenUsed>false</cas:longTermAuthenticationRequestTokenUsed>
<cas:isFromNewLogin>false</cas:isFromNewLogin>
<cas:authenticationDate>1663038637371</cas:authenticationDate>
<cas:phone>13901231088</cas:phone>
<cas:username>zhangsan@paraview.cn</cas:username>
</cas:attributes>
</cas:authenticationSuccess>
</cas:serviceResponse>
2
3
4
5
6
7
8
9
10
11
12
13
**失败返回:**无
# 二、应用配置演示
# 1 IDaaS平台应用配置
管理员账号登录IDaaS,进入【后台管理】-->【应用管理】-->【新增应用】-->【创建并添加应用】
【应用属性】标签的【应用地址】填写应用的地址,打开【启用】的开关,如果该应用需要二次认证,可以勾选【登陆应用二次认证】,点击【确认】,保存配置
【协议配置】标签,【认证模式】选择【CAS】,此时会自动生成基本信息,可以根据需求做出调整
【登录回调地址】需要跟应用平台确认,【登出回调地址】如果应用平台有对应的功能,可以配置,否则,可以随意配置
【认证属性】需要根据应用平台的要求做出选择,常用属性为【用户名】、【邮箱】、【手机号】,勾选需要的属性。属性名可以做映射,即应用属性名可以修改为应用平台的属性名,例如用户名在IDaaS的属性名为username,在应用平台为userName,那么可以在用户名对应的应用属性名一栏填入userName,完成映射。点击【确定】,保存配置。
# 2 应用平台配置
此步与应用平台息息相关,需要参考应用平台的配置说明。配置方法大相径庭,但主要目的一致:
- 配置CAS校验端点的前缀 (/api/sso/protocol/cas)
# 3 分配应用权限
【用户服务管理】-->【用户管理】,找到需要分配应用的用户,【查看详情】
【应用信息】标签,【添加应用】
勾选刚刚配置的应用,【确定】
# 4 单点登录
登录分配了应用权限的账号,点击应用
跳转成功