System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及云原生,具体为一种基于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进行鉴权;当客户端
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验证通...
【专利技术属性】
技术研发人员:张旭,朱璐,张敏,栗凯,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。