System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于JWK的API网关鉴权的系统及方法技术方案_技高网

一种基于JWK的API网关鉴权的系统及方法技术方案

技术编号:40370545 阅读:7 留言:0更新日期:2024-02-20 22:14
本发明专利技术涉及云原生技术领域,具体为一种基于JWK的API网关鉴权的系统及方法,系统由JWK管理模块、客户端管理模块、鉴权模块以及API管理模块组成;JWK管理模块,负责JWK的生成;客户端管理模块,管理众多的客户端;鉴权模块,提供不同的鉴权策略,鉴权策略的核心内容是JWK;API管理,负责管理托管服务的API;有益效果为:本发明专利技术提出的基于JWK的API网关鉴权的系统及方法,基于JWK进行的网关鉴权,支持对称加密、非对称加密的多个算法族,供用户选择;JWK与客户端是一对多关系,鉴权策略与托管API是一对多的关系,可以建立可复用的鉴权策略;鉴权策略可以灵活配置,并且支持对JWT中payload内容的参数转换,以满足业务需要;为客户端提供SDK下载,方便客户端的改造。

【技术实现步骤摘要】

本专利技术涉及云原生,具体为一种基于jwk的api网关鉴权的系统及方法。


技术介绍

1、api网关是云原生领域的基础设施,是托管众多云原生服务的重要组件。它对外提供统一的流量入口,对内为托管的服务提供认证、鉴权、限流等功能支持,它监控服务的流量变化、性能状况,是云原生系统必不可少的存在。

2、现有技术中,api网关的鉴权是api网关安全托管能力的重要体现。在实际情况中,api网关托管的api,仅能提供给特定的消费者。通常的做法是,api携带表征用户身份的token或者是表征客户端应用的token,由api网关验证,如果验证通过则可以正常的访问api,否则提示没有权限。这样,api网关就建立了用户认证或者app认证机制,实现api的鉴权功能。

3、但是,在api网关的app认证中,通常的做法是api网关为客户端提供认证凭据(app_key/app_secret),客户端根据凭据生成token,然后在调用服务api时被api网关验证。如果期望几种客户端采用相同的鉴权策略访问api,或者是希望客户端可以选用不同的鉴权策略,仅仅依靠app_key/app_secret的方式便不能支持。


技术实现思路

1、本专利技术的目的在于提供一种基于jwk的api网关鉴权的系统及方法,以解决上述
技术介绍
中提出的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种基于jwk的api网关鉴权的系统,所述系统由jwk管理模块、客户端管理模块、鉴权模块以及api管理模块组成;

3、jwk管理模块,负责jwk的生成;

4、客户端管理模块,管理众多的客户端;

5、鉴权模块,提供不同的鉴权策略,鉴权策略的核心内容是jwk;

6、api管理,负责管理托管服务的api。

7、优选的,jwk管理模块为鉴权模块的鉴权策略提供支持,为客户端管理模块的sdk提供支持,管理模块同时提供jwk及对应密钥的下载功能。

8、优选的,管理模块为没有在api网关注册的客户端提供并非直接可用的sdk,而是sdk的模板,用户根据jwk管理模块下载的jwk或密钥,借助sdk模板,对客户端进行改造。

9、优选的,在鉴权策略中,使用多种jwk;在鉴权过程中,多种jwk之间是“或”的关系,也就是如果api所携带的jwt,被一种jwk验证通过,就认为鉴权成功。

10、优选的,鉴权模块除了建立鉴权策略之外,还对客户端访问托管服务api时携带的jwt进行鉴权;当客户端访问托管服务api的请求进入api网关之后,api网关根据api绑定的鉴权策略的jwk生成对应的密钥,api网关会根据鉴权策略中约定的jwt的位置和名称获取jwt,并通过生成的密钥验证jwt。

11、优选的,当api未与鉴权策略绑定之前,调用api时并不需要携带jwt即可正常访问;当api与鉴权策略绑定之后,调用api时必须携带jwt才可正常访问,否则提示401错误。

12、一种基于jwk的api网关鉴权方法,所述方法包括以下步骤:

13、jwk管理模块生成所需要的jwk;

14、客户端管理模块注册客户端;

15、客户端建立与jwk之间的关联;

16、鉴权模块通过jwk创建鉴权策略;

17、创建托管服务api;

18、鉴权策略绑定托管服务api;

19、客户端下载sdk,并改造客户端;

20、使用改造的客户端访问托管服务api。

21、与现有技术相比,本专利技术的有益效果是:

22、本专利技术提出的基于jwk的api网关鉴权的系统及方法,基于jwk进行的网关鉴权,支持对称加密、非对称加密的多个算法族,供用户选择;jwk与客户端是一对多关系,鉴权策略与托管api是一对多的关系,可以建立可复用的鉴权策略;鉴权策略可以灵活配置,并且支持对jwt中payload内容的参数转换,以满足业务需要;为客户端提供sdk下载,方便客户端的改造,易于用户使用。

本文档来自技高网...

【技术保护点】

1.一种基于JWK的API网关鉴权的系统,其特征在于:所述系统由JWK管理模块、客户端管理模块、鉴权模块以及API管理模块组成;

2.根据权利要求1所述的一种基于JWK的API网关鉴权的系统,其特征在于:JWK管理模块为鉴权模块的鉴权策略提供支持,为客户端管理模块的SDK提供支持,管理模块同时提供JWK及对应密钥的下载功能。

3.根据权利要求1所述的一种基于JWK的API网关鉴权的系统,其特征在于:管理模块为没有在API网关注册的客户端提供并非直接可用的SDK,而是SDK的模板,用户根据JWK管理模块下载的JWK或密钥,借助SDK模板,对客户端进行改造。

4.根据权利要求1所述的一种基于JWK的API网关鉴权的系统,其特征在于:在鉴权策略中,使用多种JWK;在鉴权过程中,多种JWK之间是“或”的关系,也就是如果API所携带的JWT,被一种JWK验证通过,就认为鉴权成功。

5.根据权利要求1所述的一种基于JWK的API网关鉴权的系统,其特征在于:鉴权模块除了建立鉴权策略之外,还对客户端访问托管服务API时携带的JWT进行鉴权;当客户端访问托管服务API的请求进入API网关之后,API网关根据API绑定的鉴权策略的JWK生成对应的密钥,API网关会根据鉴权策略中约定的JWT的位置和名称获取JWT,并通过生成的密钥验证JWT。

6.根据权利要求1所述的一种基于JWK的API网关鉴权的系统,其特征在于:当API未与鉴权策略绑定之前,调用API时并不需要携带JWT即可正常访问;当API与鉴权策略绑定之后,调用API时必须携带JWT才可正常访问,否则提示401错误。

7.一种根据权利要求1-6任意一项所述的基于JWK的API网关鉴权的系统的基于JWK的API网关鉴权方法,其特征在于:所述方法包括以下步骤:

...

【技术特征摘要】

1.一种基于jwk的api网关鉴权的系统,其特征在于:所述系统由jwk管理模块、客户端管理模块、鉴权模块以及api管理模块组成;

2.根据权利要求1所述的一种基于jwk的api网关鉴权的系统,其特征在于:jwk管理模块为鉴权模块的鉴权策略提供支持,为客户端管理模块的sdk提供支持,管理模块同时提供jwk及对应密钥的下载功能。

3.根据权利要求1所述的一种基于jwk的api网关鉴权的系统,其特征在于:管理模块为没有在api网关注册的客户端提供并非直接可用的sdk,而是sdk的模板,用户根据jwk管理模块下载的jwk或密钥,借助sdk模板,对客户端进行改造。

4.根据权利要求1所述的一种基于jwk的api网关鉴权的系统,其特征在于:在鉴权策略中,使用多种jwk;在鉴权过程中,多种jwk之间是“或”的关系,也就是如果api所携带的jwt,被一种jwk验证通...

【专利技术属性】
技术研发人员:张旭朱璐张敏栗凯
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1