[发明专利]一种基于票据的分布式认证方法有效
| 申请号: | 202110990892.4 | 申请日: | 2021-08-26 |
| 公开(公告)号: | CN113660284B | 公开(公告)日: | 2023-02-21 |
| 发明(设计)人: | 谭彬 | 申请(专利权)人: | 贵州电子商务云运营有限责任公司 |
| 主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L9/32 |
| 代理公司: | 成都市鼎宏恒业知识产权代理事务所(特殊普通合伙) 51248 | 代理人: | 吴锦德 |
| 地址: | 550000 贵州省贵阳市贵阳国家高新技术产业开发区长*** | 国省代码: | 贵州;52 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 票据 分布式 认证 方法 | ||
1.一种基于票据的分布式认证方法,其特征在于,所述的分布式认证方法包括三个相互连接的物理层架构,分别为:
1)应用或系统的客户端、
2)应用或系统服务后端、
3)认证服务系统;
所述的应用或系统服务后端集成SDK包; SDK包提供系统认证功能,包括内容如下:拦截校验本地用户会话、验证登录票据换取会话凭证、登出本地会话、本地会话管理;
所述的认证服务系统运行具有用户授权认证,提供一种基于票据的单点认证方法,通过封装接口对外提供用户注册机制、用户登录机制、用户会话授信、用户信息更新、应用会话集中管理及本地管理功能;
所有的用户信息由设置的中台服务用户中心服务统一保存和管理;
所有接入集成认证服务系统的应用或系统服务后端由设置的中台服务应用中心统一保存和管理;
应用或系统服务后端和客户端注册发布时,选择设置用户会话鉴权方式、会话有效期时长、用户数据授权范围信息;
应用或服务开发团队将从中台服务应用中心获取应用参数和客户端标识;
集成的SSO客户端SDK包的应用或系统服务后端将共享用户信息作为用户一次注册多端访问的数据基础;
所述的分布式认证方法通过http协议请求获取及交换凭证的方式,使用户访问应用或系统前进行登录认证,在访问其他系统时交换获取新的凭证,实现授信系统间免登访问;
所述的分布式认证方法步骤为:1)应用或系统向中台服务应用中心注册应用,发布应用或服务和创建对应客户端,获取应用或服务密钥参数和客户端标识参数;
2)应用或系统服务后端集成SSO客户端SDK包;
3)客户端向应用或系统服务后端发起访问请求时,在请求头中携带指定的会话标识;
4)SSO客户端SDK包在请求链路上通过过滤器机制介入请求,从请求头中获取指定的会话标识;
5)若未能从请求头中获取到指定的会话标识,过滤器将向客户端响应未获授权访问状态码;
6)客户端接收到系统未获授权访问状态码,携带系统信息参数,重定向跳转至集成认证服务系统服务页面;
7)用户在集成认证服务系统服务页面完成注册或登录操作;
8)集成认证服务系统调用中台服务应用中心接口,通过访问系统递交的appKey参数查询注册应用信息,获取应用密钥和登录会话凭证范围配置;
9)集成认证服务系统调用中台服务用户中心接口,查询获取用户信息;
10)编码用户信息数据并做MD5摘要,生成一个32位的随机字符作为因子,使用该因子对用户数据摘要做混淆处理,生成一个64位长度的全局TGC令牌;
11)基于用户数据封装授权验证票据数据对象;
12)通过全局TGC令牌缓存用户授权验证票据TGT数据对象并设置有效期;
13)生成1个16位以内长度随机的字符串作为随机因子插入到全局TGC令牌中,按固定位移量对全局TGC令牌做位移混淆,再生成1个16位以内长度随机的字符串作为随机因子对全局TGC令牌做换位混淆,经过混淆处理后生成认证票据ticket;
14)若为特定客户端发起的验证请求,认证票据ticket后拼接携带客户端标识;
15)集成认证服务系统携带认证票据ticket重定向回访问系统客户端;
16)客户端访问页面接收到认证票据ticket时,向应用或系统服务后端发起登录认证票据ticket的验证请求,由SSO客户端SDK包票据验证过滤器从请求链路上拦截处理该请求;
17)SSO客户端SDK包携带登录认证票据ticket向集成认证服务系统发起验证请求;
18)集成认证服务系统接收票据ticket,判断票据ticket上是否携带了客户端标识;
19)若认证票据ticket上携带了客户端标识,验证该客户端是否授信;
20)集成认证服务系统对认证票据ticket做反向解析,处理获得全局TGC令牌;
21)通过全局TGC令牌获取TGT缓存数据;
22)使用访问系统的密钥、用户TGT数据生成JWT令牌;根据访问系统配置判断是否需要生成刷新令牌;
23)集成认证服务系统向访问系统响应JWT令牌和认证范围内的用户数据;
24)应用或系统服务后端接收到集成认证服务系统响应后,将会话认证JWT令牌响应给客户端;
25)客户端在请求头中携带会话认证再次请求应用或系统服务后端;
26)所述系统内多个应用或系统服务跨系统互信认证的方式,包括:
应用或系统服务后端A通过集成的SSO客户端SDK包能力,携带当前会话凭证、应用或系统服务后端B的应用标识请求集成认证服务系统;
集成认证服务系统接收会话凭证和应用标识;
集成认证服务系统解析会话凭证获取用户数据;
集成认证服务系统根据应用或系统服务后端B的应用标识查询服务端信息,根据应用或系统服务后端A的应用信息判断系统A和系统B是否可以互信认证;
若可以互信认证,集成认证服务系统根据方法[10]-[14]生成应用或系统服务后端B的用户认证票据ticket;
客户端A携带系统B的用户认证票据ticket跳转至客户端B;
客户端B接收用户认证票据ticket执行方法[16]-[24]验证获取用户会话凭证;
27)所述会话注销方法,包括:
客户端向应用或系统服务后端携带会话凭证发起注销请求;
由SSO客户端SDK包会话注销过滤器从请求链路上拦截处理该请求;
SSO客户端SDK包注销本地会话;
SSO客户端SDK包携带会话凭证向集成认证服务系统发起会话注销请求;
集成认证服务系统接收会话注销请求,查询访问系统应用信息;
判断是否处理访问系统发起的全局会话注销请求;
无需处理全局会话请求的直接响应;
需要处理全局会话注销的,集成认证服务系统注销全局会话;
全局会话注销后判断是否处理关联系统或应用客户端局部会话注销;
向登记的关联系统或应用客户端发起局部会话注销请求;
28)第三方系统对接互信认证方法,包括:
第三方系统集成SSO客户端SDK包并设置系统请求路由不拦截;
第三方系统路由跳转至集成认证服务系统;
用户在集成认证服务系统完成注册或登录操作;
集成认证服务系统生成用户的认证票据ticket,携带该票据重定向跳转回第三方系统页面;
第三方系统由集成的SSO客户端SDK包验证获取用户授权userId;
29)第三方系统可选认证授权范围,包括仅限userId的静默授权和统一登录拦截的完整认证服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州电子商务云运营有限责任公司,未经贵州电子商务云运营有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110990892.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种焊接前辅助装配工装
- 下一篇:一种基于WIFI通讯的数据传输系统





