• 文档简介
• 应用集成E10系统准备
• 认证集成过程
文档简介
本文档详细定义了E10系统所提供的CAS认证服务接口的接口规范。当应用系统在与E10系统进行CAS认证集成时,需要了解该文档的内容,并根据该文档定义的接口规范进行相应接口的开发或调整。
应用集成E10系统准备
一、业务系统
应用系统(需要接入CAS认证的应用)准备认证成功回调地址:
1、回调地址(接收ticket票据的地址及认证成功跳转地址)
注:回调地址中不支持带有路由的地址。
属性名 | 说明 |
redirect_uri | http://XXX.XXX.XXX.XXX/XX/XX |
2、应用系统地址协议需与E10系统协议保持一致。
3、向E10系统申请注册应用系统并且提供回调地址给E10系统。
二、E10系统
1、根据应用系统提供的回调地址,注册应用系统
环境配置:
属性名 | 说明 |
appid | 注册应用标识,示例:a1dd20759a9046d2bfbc4f104558fe39 |
统一认证地址 | 业务系统请求统一认证地址,E10认证登录后,会回调业务系统,并携带ticket,示例: https://weapp.mulinquan.cn/papi/sso/cas/login |
统一退出地址 | 业务系统请求退出接口可注销E10认证登录会话,示例: https://weapp.mulinquan.cn/sp/integration/cas/logout |
认证集成过程
一、CAS认证过程
CAS认证过程简述
1、访问业务系统,未登录调整到认证平台 http://xxxxxxx/cas/login?service=(访问路径) ; 访问路径是业务系统地址,用于认证平台认证成功后跳转回来的地址
2、在认证平台进行认证登录后,认证成功后回跳转会业务系统 访问路径?ticket=xxxxxxxxxxxxx;
3、业务系统拦截ticket票据,调用服务端接口进行验证票据获取用户信息 http://xxxxxxx/cas/v1/tickets (ticket、service两个参数)
4、业务根据获取的用户信息构造自己的会话信息,完成登录
5、业务系统退出需要登出302 到 http://xxxxxxx/cas/logout?service=(访问路径),至此CAS认证结束;此时在重定向到客户端访问地址
认证流程图如下:
二、认证集成
1、获取应用标识appid参数
统一认证中心-认证应用管理,注册应用系统的CAS认证应用。
其中,应用标识对应appid的参数值。
共享范围:设置应用的人员限制范围,只允许范围内的人员通过应用登录业务系统。
业务系统URL地址:该地址是应用在用户登录完成后返回给应用授权码的地址。
账号映射规则:设置需要返回给应用人员的哪个字段信息(需在人员基本信息里面维护)。
2、开启CAS认证
统一认证中心-认证协议管理-CAS认证,直接开启认证,提供CAS认证接口地址。
3、统一认证地址
用户访问该应用系统时,应用通过下面接口向E10系统发起登录请求,若E10还未登录,将调整至E10登录页,E10输入用户名密码登录成功后,将携带ticket重定向到应用系统。
请求说明:
参数 | 描述 |
请求地址 | CAS认证中“统一认证地址” E10系统地址/papi/sso/cas/login |
请求方式 | GET |
请求参数:
参数 | 名称 | 必须 | 示例 | 描述 |
appid | 应用标识 | 必须 | 9c5a07c0e2ad40229cc73306b6996f6b | E10系统认证应用管理中该应用注册的应用标识 |
service | 回调地址 | 必须 | https%3A%2F%2Fjytcas.e-cology.cn%2Fdemo_cas_client%2Findex.jsp | 成功授权后的回调地址。需与应用标识的应用中业务系统url地址一致。 注:不支持地址中有#路由地址。 |
请求示例:
E10系统地址/papi/sso/oauth2.0/authorize?appid=e9b7bee8b9d0434eb022fe2f8604addf&service=https%3A%2F%2Fjytcas.e-cology.cn%2Fdemo_cas_client%2Findex.jsp |
返回参数说明:
参数 | 名称 | 描述 |
ticket | 票据 | 用户登录并授权后,返回给应用的票据。注意:此ticket是一次有效。 |
正确返回示例:
service?ticket=ST-xxxxxxx |
错误返回示例:
会跳转提示页面。可能跳转的提示页面可参考附录1:提示页面信息。
4、校验ticket,获取用户信息
业务系统获取到ticket之后,需要校验ticket,获取用户信息。
请求说明:
参数 | 描述 |
请求地址 | E10系统地址/papi/sso/cas/serviceValidate |
请求方式 | GET |
请求参数:
参数 | 名称 | 必须 | 示例 | 描述 |
service | 回调地址 | 必须 | https%3A%2F%2Fjytcas.e-cology.cn%2Fdemo_cas_client%2Findex.jsp | 同login接口参数service值 |
ticket | 票据 | 必须 | ST-xxxxxxx | 同login接口返回值ticket |
请求示例:
E10系统地址/papi/sso/cas/serviceValidate?service=https://ecology.cn/cas.jsp&ticket=ST-xxxxx |
返回参数说明:
参数 | 名称 | 描述 |
user | 人员信息 | 返回CAS应用配置的账号映射规则的值 |
正确返回报文:
<cas:authenticationSuccess> <cas:user>用户登录名</cas:user> <cas:attributes></cas:attributes> </cas:authenticationSuccess> |
5、退出
应用在和E10系统进行认证集成后,在退出应用系统后,会出现无法退出的情况,原因是没有注销E10系统的登录会话。
所以应用在退出时,可调用E10系统的退出接口,进行E10系统的用户会话注销
注意:退出接口还未支持全局退出,即应用调用退出接口后, 是退出了E10的会话,当前应用退出了,但是另外接入的应用将还不会退出。
请求说明:
参数 | 描述 |
请求地址 | CAS认证中“统一退出接口地址” E10系统地址/sp/integration/cas/logout |
请求方式 | GET |
请求参数:
参数 | 名称 | 必须 | 示例 | 描述 |
service | 退出重定向地址 | 必须 | https%3A%2F%2Fjytcas.e-cology.cn%2Fdemo_cas_client%2Findex.jsp | 域名需要在白名单中进行设置,否则将不能跳转service |
请求示例:
E10系统地址/sp/integration/oauth2.0/logout?service=https%3A%2F%2Fjytcas.e-cology.cn%2Fdemo_cas_client%2Findex.jsp |
6、验证
维护应用系统与E10系统之间的人员关系。
访问应用系统,调用E10系统授权接口进行登录授权(应用系统自行实现),E10认证登录授权后,携带ticket回调应用系统, 应用系统进行登录。
附录1:提示信息页面
请求用户授权接口进行授权时,如果授权失败,将会跳转到提示页面。
以下列举可能出现的提示:
code | 提示信息 | 描述 |
80006 | 当前账号未维护登录名,请设置登录名后重新登录 | 认证应用中账号映射规则设置了登录名,登录人员需要维护登录名 |
80007 | 当前账号未维护身份证,请设置身份证后重新登录 | 认证应用中账号映射规则设置了身份证,登录人员需要维护身份证 |
80008 | 当前账号未维护工号,请设置工号后重新登录 | 认证应用中账号映射规则设置了工号,登录人员需要维护工号 |
80009 | 当前账号未维护电子邮箱,请设置电子邮箱后重新登录 | 认证应用中账号映射规则设置了电子邮箱,登录人员需要维护电子邮箱 |
80010 | 当前账号未维护手机号码,请设置手机号码后重新登录 | 认证应用中账号映射规则设置了手机号码,登录人员需要维护手机号码 |
80011 | 该用户当前团队与应用所属团队【xxx】不一致,请切换正确的团队后重新登录 | 需要切换到认证应用所在团队,才能进行认证登录 |
80012 | 当前认证未开启,请联系管理员开启认证 | 应用标识对应的认证应用被禁用了 |
80013 | 回调地址与认证应用注册的业务系统URL地址不一致,请联系管理员检查配置 | 授权接口传的redirect_uri参数值与认证应用中业务系统URL地址不一致 |
80014 | 登录用户不在认证应用注册的适用对象范围内,请联系管理员检查配置 | 认证应用设置的适用对象中没有此人员 |
80015 | 参数应用标识(client_id)缺失或值未在认证应用中注册,请联系管理员检查配置信息 | 授权接口传的client_id参数值不对,需要应用系统检查 |
80016 | 参数response_type缺失或值错误,请联系管理员检查配置信息 | 授权接口传的response_type参数值不对,需要应用系统检查 |
80017 | 参数回调地址(redirect_uri)缺失,请联系管理员检查配置 | 授权接口传的redirect_uri参数值不对,需要应用系统检查 |
80018 | 参数应用标识(appid)缺失或值未在认证应用中注册,请联系管理员检查配置信息 | process接口里面参数appid不对 |
80019 | 参数回调地址(service)缺失,请联系管理员检查配置 | process接口里面参数service不对 |
80020 | 参数回调地址(appUrl)缺失,请联系管理员检查配置 | process接口里面参数appUrl不对 |
80021 | 接口请求超时异常,请稍后重新登录 | |
80022 | 认证登录异常,请稍后重新登录 | |
80023 | 认证应用未启用,请联系管理员启用应用 | OAuth2认证还是关闭状态 |
80026 | 认证登录异常,请稍后重新登录 | rpc接口异常,需要等待 |