一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于JWT令牌的不互信异构系统聚合鉴权认证方法与流程

2022-03-26 15:29:39 来源:中国专利 TAG:

基于jwt令牌的不互信异构系统聚合鉴权认证方法
技术领域
1.本发明涉及认证鉴权技术领域。更具体地说,本发明涉及一种基于jwt令牌的不互信异构系统聚合鉴权认证方法。


背景技术:

2.当今社会上存在很多小型的软件企业,通常关注解决某个行业领域的细分问题,为区域性用户或细分领域用户提供软件服务,比如在征信行业中,多家征信机构联合提供多维度的征信评估能力,所以聚合这些企业形成较大的平台是有客观需求和价值意义的,对这些公司的软件服务进行聚合,形成一个功能完善全面的大型saas服务软件,能够有效提高整体市场存活率,实现多方协同发展共赢局面。但是各个软件企业是互相独立的,系统是异构的,并且各自用户体系无法共享,因此用户鉴权是解决系统聚合问题的关键。
3.现有研究中常用的认证鉴权方案有sso单点登录方案、分布式session与网关结合方案、客户端token与网关结合方案等,以上三种方案中对主系统和多个子系统之间无法在原有不同的用户体系中做到新用户体系的一致性,进而对于已经上线运行的子系统,无法做到分布式鉴权认证的一致性,从而很难实现主平台与各个子平台的用户鉴权以及子平台中特殊业务功能权限限制。


技术实现要素:

4.本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
5.本发明还有一个目的是提供一种基于jwt令牌的不互信异构系统聚合鉴权认证方法,其能够在主平台中能够实现对多个子平台的用户认证,在子平台中实现对用户的权限限制。
6.为了实现根据本发明的这些目的和其它优点,提供了一种基于jwt令牌的不互信异构系统聚合鉴权认证方法,包括:
7.步骤一、为多个不互信异构系统建立一个总平台,形成总平台、多个子平台的架构;
8.步骤二、接收用户登录总平台或子平台进行认证的指令,总平台生成用于对子平台进行认证的token字符串,并将token与用户输入的认证信息发送至子平台,子平台解析用户输入的认证信息,并通过rsa算法生成rsa公钥和rsa私钥,将token进行rsa私钥加密,然后把加密后的token和rsa公钥发送至总平台,总平台使用rsa公钥解密,若收发的token一致,则总平台、子平台信任构建成功,通过认证;
9.步骤三、通过用户登录总平台对子平台访问的请求,并在子平台授权范围内调用业务接口。
10.优选的是,总平台、多个子平台均采用浏览器/服务器模式架构。
11.优选的是,若总平台、子平台信任构建成功,总平台创建一块jwt令牌保存在服务端。
12.优选的是,token字符串由用户输入的认证信息组成json并经过sha256加密产生。
13.优选的是,步骤二中,子平台解析用户输入的认证信息时,若子平台验证通过,则将token与已注册的用户信息绑定,若子平台验证失败,则创建新的用户,将token与新注册的用户信息绑定。
14.基于jwt令牌的不互信异构系统聚合鉴权认证装置,包括:
15.平台架构模块,其为多个不互信异构系统建立一个总平台,所述平台架构模块包括总平台、多个子平台;
16.平台信任构建模块,其接收用户登录总平台或子平台进行认证的指令,总平台生成用于对子平台进行认证的token字符串,并将token与用户输入的认证信息发送至子平台,子平台解析用户输入的认证信息,并通过rsa算法生成rsa公钥和rsa私钥,将token进行rsa私钥加密,然后把加密后的token和rsa公钥发送至总平台,总平台使用rsa公钥解密,若收发的token一致,则总平台、子平台信任构建成功,通过认证;
17.业务功能调用二次鉴权模块,其通过用户登录总平台对子平台访问的请求,并在子平台授权范围内调用业务接口。
18.优选的是,token字符串由用户输入的认证信息组成json并经过sha256加密产生。
19.优选的是,子平台解析用户输入的认证信息时,若子平台验证通过,则将token与已注册的用户信息绑定,若子平台验证失败,则创建新的用户,将token与新注册的用户信息绑定。
20.电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述的方法。
21.存储介质,其上存储有计算机程序,该程序被处理器执行时,实现所述的方法。
22.本发明至少包括以下有益效果:
23.第一、本发明把若干异构的、并非完全互信的系统集成在一个统一的平台上,避免了复杂的开放授权协议,实现简单,适合对多个已经建成的非互信异构系统应用建立统一的身份认证,方便向社会提供更加全面、系统、便捷的服务;
24.第二、本发明可适应多种不同场景的子平台集成方案,即与子平台场景业务无关的集成方法,可在已有异构用户系统中实现用户的认证,以及主子平台的二次鉴权限制用户的业务权限,用户在主平台享受一次登录可以访问所有互相信任的子平台业务功能。
25.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
26.图1为本发明的一个总平台与多个应用系统的逻辑架构示意图;
27.图2为本发明的一种技术方案的聚合鉴权认证流程图。
具体实施方式
28.下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
29.应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加。
30.需要说明的是,下述实施方案中所述实验方法,如无特殊说明,均为常规方法,所述试剂和材料,如无特殊说明,均可从商业途径获得。
31.如图1-2所示,本发明提供一种基于jwt令牌的不互信异构系统聚合鉴权认证方法,包括:
32.步骤一、主平台、子平台构建阶段:
33.为多个不互信异构系统建立一个总平台,形成总平台、多个子平台的架构,用于用户通过总平台与多个应用系统之间进行用户认证,总平台以及所有应用系统均采用b/s(浏览器/服务器)架构;
34.步骤二、主平台、子平台信任构建阶段:
35.用户通过浏览器向总平台发起认证请求(如果用户直接访问子平台的链接会默认导向主平台的用户认证界面,禁止未认证用户直接访问子平台),接收用户登录总平台或子平台进行认证的指令,总平台生成用于对子平台进行认证的token字符串,该token字符串信息由用户输入的认证信息组成json(用户名、用户id、用户密码、用户角色、认证时间)并经过sha256加密产生,总平台将token与用户输入的认证信息发送至子平台,子平台解析用户输入的认证信息,判定主平台用户是否在子平台中也有,若有,并通过rsa算法生成rsa公钥和rsa私钥,将token进行rsa私钥加密,然后把加密后的token和rsa公钥发送至总平台,总平台使用rsa公钥解密,判断与发出前token是否一致,若收发的token一致,说明子平台已经安全绑定token,主子平台一致,则总平台、子平台信任构建成功,通过认证,若解析结果判断不一致,则说明有中间人修改,请求无效,主平台、子平台未保持一致,拒绝该token的响应与调用,返回用户登录失败,用户需再次做主平台登录认证;
36.若总平台、子平台信任构建成功,总平台创建一块jwt令牌保存在服务端;
37.步骤三、业务功能调用二次鉴权阶段:
38.通过用户登录总平台对子平台访问的请求,并在子平台授权范围内调用业务接口;
39.用户在主平台调用子平台业务接口时,主平台做在线认证,子平台做在线验证与权限判定,业务的权限由子平台决定,灵活授权;
40.用户在子平台调用业务接口时,仅子平台做在线验证与权限判定。
41.在上述技术方案中,能够有效合理的针对多个异构系统做用户认证与鉴权,在保证主子平台用户信任一致的情况下,实现主子平台的用户认证统一,同时子平台可方便合理的对用户进行权限控制,实现异构用户体系聚合的有效解决方案。
42.本发明把若干异构的、并非完全互信的系统集成在一个统一的平台上,避免了复杂的开放授权协议,实现简单,适合对多个已经建成的非互信异构系统应用建立统一的身份认证,方便向社会提供更加全面、系统、便捷的服务。
43.本发明可适应多种不同场景的子平台集成方案,即与子平台场景业务无关的集成方法,可在已有异构用户系统中实现用户的认证,以及主子平台的二次鉴权限制用户的业务权限,用户在主平台享受一次登录可以访问所有互相信任的子平台业务功能。
44.在另一种技术方案中,步骤二中,子平台解析用户输入的认证信息时,若子平台验
证通过,子平台有该用户,则将token与已注册的用户信息绑定,将用户的token与该用户绑定一段时间,在该时间内该用户访问子平台api是合法的,若子平台验证失败,子平台无该用户,则创建新的用户(自动注册),将token与新注册的用户信息绑定,并将用户token与新注册的用户绑定一段时间,在该时间内该用户访问子平台api是合法的。保证主平台、子平台用户信任一致。
45.基于jwt令牌的不互信异构系统聚合鉴权认证装置,包括:
46.平台架构模块,其为多个不互信异构系统建立一个总平台,所述平台架构模块包括总平台、多个子平台;
47.平台信任构建模块,其接收用户登录总平台或子平台进行认证的指令,总平台生成用于对子平台进行认证的token字符串,token字符串由用户输入的认证信息组成json并经过sha256加密产生,并将token与用户输入的认证信息发送至子平台,子平台解析用户输入的认证信息,并通过rsa算法生成rsa公钥和rsa私钥,将token进行rsa私钥加密,然后把加密后的token和rsa公钥发送至总平台,总平台使用rsa公钥解密,若收发的token一致,则总平台、子平台信任构建成功,通过认证;
48.业务功能调用二次鉴权模块,其通过用户登录总平台对子平台访问的请求,并在子平台授权范围内调用业务接口,用户在主平台调用子平台业务接口时,主平台做在线认证,子平台做在线验证与权限判定,业务的权限由子平台决定,灵活授权;用户在子平台调用业务接口时,仅子平台做在线验证与权限判定。
49.在上述技术方案中,对多个异构系统有业务调用,同时在各方的用户体系无法统一的情况下,这种基于jwt令牌的不互信异构系统聚合鉴权认证能够有效解决系统聚合的鉴权问题。
50.在另一种技术方案中,子平台解析用户输入的认证信息时,若子平台验证通过,则将token与已注册的用户信息绑定,若子平台验证失败,则创建新的用户,将token与新注册的用户信息绑定。
51.电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述的方法。
52.存储介质,其上存储有计算机程序,该程序被处理器执行时,实现所述的方法。
53.以下将比较各个技术方案的优劣性:
54.1.sso单点登录方案
55.缺点:1)不利于重构。因为涉及到的系统很多,要重构必须要兼容所有的系统,可能很耗时。2)无人看守桌面。因为只需要登录一次,所有的授权的应用系统都可以访问,可能导致一些很重要的信息泄露。
56.这种方案意味着每个面向用户的服务都必须与认证服务交互,这会产生大量非常琐碎的网络流量和重复的工作,当动辄数十个微应用时,这种方案的弊端会更加明显。
57.2.分布式session方案:
58.分布式会话方案原理主要是将关于用户认证的信息存储在共享存储中,且通常由用户会话作为key来实现的简单分布式哈希映射。当用户访问微服务时,用户数据可以从共享存储中获取。在某些场景下,这种方案很不错,用户登录状态是不透明的。同时也是一个
高可用且可扩展的解决方案。这种方案的缺点在于共享存储需要一定保护机制,因此需要通过安全链接来访问,这时解决方案的实现就通常具有相当高的复杂性了。
59.3.客户端token与网关结合方案
60.该方案虽然使用token,取消了session回话的冗杂,但是对于不互信系统中,缺少数字签名的认证,换句话说,在不互信的情况下子平台需要确定是主平台发的请求。同时身份的确认只有一次鉴权,即可访问所有子系统的服务,子平台的服务缺少二次认证,会使得部分重要信息泄露。
61.4.基于jwt令牌的不互信异构系统聚合鉴权认证方法
62.该方案仍旧采用token,保留第三种方案的优点,并在主子平台认证中加入数字签名,保证能够确定请求体的身份。同时我们采用二次认证,主子平台两端各有token和时间限制,因此用户使用子平台的服务需要主平台和子平台两次验证,在不互信系统的集成方案中主平台和子平台都能够有效控制用户的权限。
63.这里说明的设备数量和处理规模是用来简化本发明的说明的。对本发明的应用、修改和变化对本领域的技术人员来说是显而易见的。
64.尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献