System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机安全认证,具体而言,涉及一种基于istio的jwt认证授权方法及系统。
技术介绍
1、jwt(json web token)是为了在网络应用环境间传递声明而执行的一种基于json的开放标准(rfc 7519),定义了一种基于token的会话管理的规则,涵盖token需要包含的标准内容和token的生成过程,由标题(header)、有效负载(payload)、签名(signature)三个部分组成。它是目前最流行的跨域身份验证解决方案。用户与服务器通信时,服务器仅依赖于jwt对象来标识用户,为了防止用户篡改数据,服务器在生成对象时添加签名。jwt保存在客户端中,服务器不需要保存任何会话数据,即服务器为无状态,更容易扩展,特别适用于分布式站点的单点登录(sso)场景。istio是一种微服务治理的完整实践,是与k8s紧密结合的云原生场景服务网格治理的开放平台,其采用sidecar方式架构,有二次开发能力,主要实现连接、安全、策略执行和可观察性功能。
2、然而,jwt最大缺点是服务器不保存会话状态,所以在使用期间不可能取消令牌或更改令牌的权限。jwt一旦签发后,在有效期内将会一直有效,不便于更新必要的授权信息,因此一旦信息泄露,任何人都可以获得令牌的所有权限。为了减少盗用,jwt的有效期不宜设置太长。对于重要操作每次请求都必须进行身份鉴权。jwt脱离服务器,也没有办法续期,只能重新签发,因此存在非常大的安全隐患。
3、基于此,本申请提出一种基于istio的jwt认证授权方法及系统,来解决上述问
技术实现思路
1、本专利技术的目的在于提供一种基于istio的jwt认证授权方法及系统,其能够解决jwt的安全隐患过高的问题,提升了客户端和服务端权限控制能力和效率,以实现区分前后端权限的控制差异。
2、本专利技术的技术方案为:
3、第一方面,本申请提供一种基于istio的jwt认证授权方法,其包括以下步骤:
4、s1、获取客户端资源和用户相关信息,以构建授权模型;
5、s2、利用istio网关识别并管理用户请求,在用户成功登录时,通过认证中心统一的服务器为当前用户生成不同的jwt令牌;
6、s3、在客户端收到jwt令牌后,解析客户端授权信息,使jwt令牌与授权模型相匹配以进行权限控制;
7、s4、在客户端请求经过istio网关时,使用webassembly扩展获取jwt令牌中的授权模型,通过wasm动态启动授权模型的运行逻辑以实现授权逻辑判断,完成授权。
8、需要说明的是,当前资源访问的复杂权限通过统一身份认证服务进行授权的验证,若当前资源需要复杂版jwt令牌的授权模型进行权限访问,则通过http的header携带至微服务内部,由其直接调用。
9、进一步地,步骤s1中,上述构建授权模型的过程包括:以动态执行逻辑为基本方式、附加对外restful接口的调用为基础,综合计算客户端资源和用户相关信息以构建授权模型。
10、进一步地,步骤s2中,上述jwt令牌包括基础版jwt令牌和复杂版jwt令牌,上述基础版jwt令牌用于客户端授权;上述复杂版jwt令牌和授权模型缓冲于认证中心统一的服务器以用于服务后台的授权处理。
11、其中,在客户端请求抵达istio的业务服务时,按需使用复杂版jwt令牌进行权限控制,通过授权数据实现权限控制。
12、进一步地,上述基础版jwt令牌和复杂版jwt令牌在缓存建立对应关系,均携带用户权限的最后修改日期的时间戳,在用户信息或权限信息变更时,根据调用时间自动生成最新版jwt令牌。
13、其中,如权限变更,则生成并且返回最新版jwt令牌,如需实现复杂权限控制,则调取复杂版jwt令牌的模型执行授权控制。
14、进一步地,步骤s3中,上述使jwt令牌与授权模型相匹配以进行权限控制的过程包括:采用客户端资源与授权模型进行匹配,通过客户端向服务器进行二次请求时携带该jwt令牌。
15、进一步地,步骤s4还包括:在用户结果数据返回经过网关代理时,使用wasm扩展能力替换基础版jwt令牌,客户端后续控制使用最新版jwt令牌。
16、第二方面,本申请提供一种基于istio的jwt认证授权系统,包括:
17、模型构建模块,用于获取客户端资源和用户相关信息,以构建授权模型;
18、jwt生成模块,用于利用istio网关识别并管理用户请求,在用户成功登录时,通过认证中心统一的服务器为当前用户生成不同的jwt令牌;
19、权限控制模块,用于在客户端收到jwt令牌后,解析客户端授权信息,使jwt令牌与授权模型相匹配以进行权限控制;
20、授权模块,用于在客户端请求经过istio网关时,使用webassembly扩展获取jwt令牌中的授权模型,通过wasm动态启动授权模型的运行逻辑以实现授权逻辑判断,完成授权。
21、第三方面,本申请提供一种电子设备,包括:
22、存储器,用于存储一个或多个程序;
23、处理器;
24、当上述一个或多个程序被上述处理器执行时,实现如上述第一方面中任一项的一种基于istio的jwt认证授权方法。
25、第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的一种基于istio的jwt认证授权方法。
26、相对于现有技术,本专利技术至少具有如下优点或有益效果:
27、本专利技术提供的一种基于istio的jwt认证授权方法及系统,通过istio的网关二次开发能力,使用双份jwt令牌分别实现前端和后端的授权控制和流转,使用授权模型封装实现交互模式的动态权限控制,区分了前后端授权逻辑,整合了授权逻辑,提升了客户端和服务端权限控制能力和效率、以及认证授权的安全性和效率。
本文档来自技高网...【技术保护点】
1.一种基于ISTIO的JWT认证授权方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于ISTIO的JWT认证授权方法,其特征在于,步骤S1中,所述构建授权模型的过程包括:以动态执行逻辑为基本方式、附加对外RESTful接口的调用为基础,综合计算客户端资源和用户相关信息以构建授权模型。
3.如权利要求1所述的一种基于ISTIO的JWT认证授权方法,其特征在于,步骤S2中,所述JWT令牌包括基础版JWT令牌和复杂版JWT令牌,所述基础版JWT令牌用于客户端授权;所述复杂版JWT令牌和授权模型缓冲于认证中心统一的服务器以用于服务后台的授权处理。
4.如权利要求3所述的一种基于ISTIO的JWT认证授权方法,其特征在于,所述基础版JWT令牌和复杂版JWT令牌在缓存建立对应关系,均携带用户权限的最后修改日期的时间戳,在用户信息或权限信息变更时,根据调用时间自动生成最新版JWT令牌。
5.如权利要求1所述的一种基于ISTIO的JWT认证授权方法,其特征在于,步骤S3中,所述使JWT令牌与授权模型相匹配以进行权限控制的过程包括:采
6.如权利要求1所述的一种基于ISTIO的JWT认证授权方法,其特征在于,步骤S4还包括:在用户结果数据返回经过网关代理时,使用WASM扩展能力替换基础版JWT令牌,客户端后续控制使用最新版JWT令牌。
7.一种基于ISTIO的JWT认证授权系统,其特征在于,包括:
8.一种电子设备,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的一种基于ISTIO的JWT认证授权方法。
...【技术特征摘要】
1.一种基于istio的jwt认证授权方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于istio的jwt认证授权方法,其特征在于,步骤s1中,所述构建授权模型的过程包括:以动态执行逻辑为基本方式、附加对外restful接口的调用为基础,综合计算客户端资源和用户相关信息以构建授权模型。
3.如权利要求1所述的一种基于istio的jwt认证授权方法,其特征在于,步骤s2中,所述jwt令牌包括基础版jwt令牌和复杂版jwt令牌,所述基础版jwt令牌用于客户端授权;所述复杂版jwt令牌和授权模型缓冲于认证中心统一的服务器以用于服务后台的授权处理。
4.如权利要求3所述的一种基于istio的jwt认证授权方法,其特征在于,所述基础版jwt令牌和复杂版jwt令牌在缓存建立对应关系,均携带用户权限的最后修改日期的时间戳,在用户信息或权限信息变更时,根...
【专利技术属性】
技术研发人员:魏东仪,王国安,彭家彦,陈强,杨国平,谢春生,党旭,
申请(专利权)人:兰州飞天网景信息产业有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。