一种微服务下多系统单点登录与自定义令牌的方法及系统与流程

摘要: 本申请属于开发框架,特别涉及一种微服务下多系统单点登录与自定义令牌的方法及系统。背景技术:1、在企业发展初期,企业使用的系统很少,运维人员管理账号较为简单,随着...
一种微服务下多系统单点登录与自定义令牌的方法及系统与流程

本申请属于开发框架,特别涉及一种微服务下多系统单点登录与自定义令牌的方法及系统。

背景技术:

1、在企业发展初期,企业使用的系统很少,运维人员管理账号较为简单,随着组织规模的扩张及业务需求的升级,企业信息化架构中逐步集成了多类型业务系统,包括但不限于办公自动化平台、人力资源管理平台、企业资源规划系统及内部通讯平台等,这些系统拥有独立的用户认证模块和机制,用户需记忆多重认证凭证并频繁执行重复登录操作,同时用户数据维护形成数据孤岛,显著增加it治理复杂度与安全风险系数。

技术实现思路

1、为解决上述问题,本申请提供了一种微服务下多系统单点登录与自定义令牌的方法,包括:

2、由客户端应用模块发起请求;

3、由网关模块验证请求是否携带令牌,若未携带令牌,重定向至认证授权模块的统一登录地址,当用户通过统一登录地址域已存在的会话标识和凭证码完成单点登录后,由认证授权模块向客户端应用分发令牌,所述令牌支持自定义配置;

4、若请求携带令牌,由资源服务模块根据加密算法验证令牌,并进一步验证令牌是否包含当前资源服务的访问权限,验证通过后返回请求资源;

5、当客户端发起登出请求后,废弃所有令牌,完成单点登出。

6、可选的,所述令牌支持自定义配置,包括但不限于:令牌加密方式、令牌存储方式、令牌过期时间、令牌生成规则和令牌可使用次数的配置;

7、所述令牌加密方式,包括但不限于sha-256、base64、hmac-sha256、jwt和区块链加密算法;

8、所述令牌的存储方式,包括关系型数据库存储、redis存储和内存存储。

9、可选的,所述用户通过统一登录地址域已存在的会话标识和凭证码完成单点登录,包括:

10、当客户端应用模块发起请求且未携带有效令牌时,跳转至认证授权模块的统一登录地址域,当用户完成登录后,由认证授权模块为统一登录地址域分配会话信息和凭证码,由客户端应用通过所述凭证码获取令牌。

11、可选的,所述验证令牌是否包含当前资源服务的访问权限是基于rbac模型进行权限验证,确保用户只能访问其被授权的资源和服务。

12、可选的,所述当客户端发起登出请求后,废弃所有令牌,完成单点登出,包括:

13、当客户端应用模块发起登出请求时,由认证授权模块清除当前用户的所有令牌,并清除统一登录地址域上的会话信息和凭证码,同时修改用户登录状态为登出状态,确保用户在所有客户端应用模块中均被登出。

14、可选的,在由客户端应用模块发起请求之后,由网关模块验证请求是否携带令牌之前,还包括:

15、由认证授权模块接收客户端应用模块提交的接入系统申请,并固化第三方应用申请信息,所述申请信息包括:应用编码、应用接入密码、应用申请资源服务范围、资源服务指定域范围、统一登录地址和客户端应用重定向地址。

16、基于同一种发明构思,本申请还提供了一种微服务下多系统单点登录与自定义令牌的系统,包括:

17、请求发起单元,用于由客户端应用模块发起请求;

18、登录认证单元,用于由网关模块验证请求是否携带令牌,若未携带令牌,重定向至认证授权模块的统一登录地址,当用户通过统一登录地址域已存在的会话标识和凭证码完成单点登录后,由认证授权模块向客户端应用分发令牌,所述令牌支持自定义配置;

19、资源访问单元,用于若请求携带令牌,由资源服务模块根据加密算法验证令牌,并进一步验证令牌是否包含当前资源服务的访问权限,验证通过后返回请求资源;

20、登出处理单元,用于当客户端发起登出请求后,废弃所有令牌,完成单点登出。

21、可选的,所述系统还包括固化应用单元,用于接收客户端应用模块提交的接入系统申请,并固化第三方应用申请信息,所述申请信息包括:应用编码、应用接入密码、应用申请资源服务范围、资源服务指定域范围、统一登录地址和客户端应用重定向地址。

22、再一方面,本申请还提供了一种电子设备,包括:至少一个处理器和存储器;

23、所述存储器,用于存储一个或多个程序;

24、当所述一个或多个程序被所述一个或多个处理器执行时,实现如上述所述的一种微服务下多系统单点登录与自定义令牌的方法。

25、再一方面,本申请还提供了一种计算机可读存储介质,其上存有计算机程序,所述计算机程序被执行时,实现如上述所述的一种微服务下多系统单点登录与自定义令牌的方法。

26、与现有技术相比,本申请具有如下优点:

27、本申请提供了一种微服务下多系统单点登录与自定义令牌的方法及系统,包括:由客户端应用模块发起请求;由网关模块验证请求是否携带令牌,若未携带令牌,重定向至认证授权模块的统一登录地址,当用户通过统一登录地址域已存在的会话标识和凭证码完成单点登录后,由认证授权模块向客户端应用分发令牌,所述令牌支持自定义配置;若请求携带令牌,由资源服务模块根据加密算法验证令牌,并进一步验证令牌是否包含当前资源服务的访问权限,验证通过后返回请求资源;当客户端发起登出请求后,废弃所有令牌,完成单点登出。

28、本申请的业务场景囊括多系统单点登录、单点登出、令牌过期自动登出、过期重定向、令牌刷新、令牌续期、自定义令牌等日常应用必备功能;

29、提供资源服务权限控制、资源服务域访问权限控制、菜单访问权限控制、接口访问权限控制、按钮权限控制等颗粒化权限控制功能;

30、提供令牌自定义功能,用户可以根据应用场景选择合理的存储方式、加密方式、验证方式、令牌组成结构,从而更好的满足各种安全性、性能要求。

31、本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。

1.一种微服务下多系统单点登录与自定义令牌的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述令牌支持自定义配置,包括但不限于:令牌加密方式、令牌存储方式、令牌过期时间、令牌生成规则和令牌可使用次数的配置;

3.根据权利要求1所述的方法,其特征在于,所述用户通过统一登录地址域已存在的会话标识和凭证码完成单点登录,包括:

4.根据权利要求1所述的方法,其特征在于,所述验证令牌是否包含当前资源服务的访问权限是基于rbac模型进行权限验证,确保用户只能访问其被授权的资源和服务。

5.根据权利要求1所述的方法,其特征在于,所述当客户端发起登出请求后,废弃所有令牌,完成单点登出,包括:

6.根据权利要求1所述的方法,其特征在于,在由客户端应用模块发起请求之后,由网关模块验证请求是否携带令牌之前,还包括:

7.一种微服务下多系统单点登录与自定义令牌的系统,其特征在于,包括:

8.根据权利要求1所述的系统,其特征在于,所述系统还包括固化应用单元,用于接收客户端应用模块提交的接入系统申请,并固化第三方应用申请信息,所述申请信息包括:应用编码、应用接入密码、应用申请资源服务范围、资源服务指定域范围、统一登录地址和客户端应用重定向地址。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6所述一种微服务下多系统单点登录与自定义令牌的方法的步骤。

10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口和存储器通过通信总线完成相互间的通信;