认证授权方法、授权服务器、API网关、系统及存储介质技术方案

技术编号:28475850 阅读:24 留言:0更新日期:2021-05-15 21:44
本申请实施例提供一种认证授权方法、授权服务器、API网关、系统及存储介质,其中,获取预设应用程序接口API的定义文件;解析所述定义文件,生成所述预设API的服务授权项;将所述服务授权项,加载到预设客户端的标识信息中,得到可授权信息;接收API网关发送的待鉴权客户端的待鉴权信息;基于所述可授权信息对所述待鉴权信息进行鉴权,得到所述待鉴权客户端的鉴权结果。权结果。权结果。

【技术实现步骤摘要】
认证授权方法、授权服务器、API网关、系统及存储介质


[0001]本申请实施例涉及计算机软件
领域,涉及但不限于一种认证授权方法、授权服务器、API网关、系统及存储介质。

技术介绍

[0002]在相关技术中,开放应用程序接口3.0(Open Application Programming Interface,OpenAPI3.0)规范通过安全方案对象(Security Scheme Object)来定义安全相关的属性,定义可以由操作使用的安全方案,包括超文本传输协议(HyperText Transfer Protocol,http)身份验证,API密钥(作为标头或作为查询参数)和开放授权(OAuth2)的通用流程(隐式流程,密码验证流程,授权码流程)等;这样,通过定义安全属性实现网关认证和授权过程,无法满足较高的服务效率。

技术实现思路

[0003]本申请实施例提供一种认证授权技术方案。
[0004]本申请实施例的技术方案是这样实现的:
[0005]第一方面,本申请实施例提供一种认证授权方法,所述方法包括:
[0006]获取预设应用程序接口的定义文件;
[0007]解析所述定义文件,生成所述预设API的服务授权项;
[0008]将所述服务授权项,加载到预设客户端的标识信息中,得到可授权信息;
[0009]接收API网关(API Getway)发送的待鉴权客户端的待鉴权信息;
[0010]基于所述可授权信息对所述待鉴权信息进行鉴权,得到所述待鉴权客户端的鉴权结果。
[0011]第二方面,本申请实施例提供一种认证授权方法,所述方法包括:
[0012]响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息;
[0013]接收所述待鉴权客户端发送的所述服务请求的第二签名信息和所述待鉴权客户端的待鉴权信息;其中,所述第二签名信息为所述待鉴权客户端对所述服务请求进行签名得到的;
[0014]在所述第一签名信息与所述第二签名信息相匹配的情况下,在当前缓存信息中查询所述待鉴权信息对应的授权记录信息;
[0015]在当前缓存信息中不包括所述授权记录信息的情况下,将所述待鉴权信息反馈至授权服务器,以使所述授权服务器对所述待鉴权信息进行鉴权。
[0016]第三方面,本申请实施例提供一种授权服务器,所述授权服务器包括:
[0017]第一获取模块,用于获取预设应用程序接口API的定义文件;
[0018]第一解析模块,用于解析所述定义文件,生成所述预设API的服务授权项;
[0019]第一加载模块,用于将所述服务授权项,加载到预设客户端的标识信息中,得到可授权信息;
[0020]第一接收模块,用于接收API网关发送的待鉴权客户端的待鉴权信息;
[0021]第一鉴权模块,用于基于所述可授权信息对所述待鉴权信息进行鉴权,得到所述待鉴权客户端的鉴权结果。
[0022]在一些实施例中,所述第一解析模块,包括:
[0023]第一解析子模块,用于解析所述定义文件,得到所述预设API的属性信息;
[0024]第一匹配子模块,用于确定与所述属性信息相匹配的域名信息;
[0025]第一生成子模块,用于在所述属性信息的基础上,添加所述域名信息,生成所述服务授权项。
[0026]在一些实施例中,所述授权服务器还包括:
[0027]第二确定模块,用于基于所述服务授权项,确定授权条件;
[0028]第三确定模块,用于将标识信息满足所述授权条件的客户端,确定为所述预设客户端。
[0029]在一些实施例中,所述第一接收模块,还用于:接收所述API网关在对所述待鉴权客户端进行认证通过的情况下,发送的所述待鉴权客户端的待鉴权标识信息和统一资源定位符;
[0030]对应地,所述第一鉴权模块,包括:
[0031]第二确定子模块,用于确定与所述待鉴权标识信息和统一资源定位符相匹配的目标信息;
[0032]第三确定子模块,用于在所述可授权信息中包括所述目标信息的情况下,确定所述待鉴权客户端通过鉴权,并向所述API网关反馈鉴权成功信息;
[0033]第一反馈子模块,用于在所述待鉴权信息中不包括所述目标信息的情况下,确定所述待鉴权客户端未通过鉴权,并向所述API网关反馈鉴权失败信息。
[0034]第四方面,本申请实施例提供一种API网关,所述API网关包括:
[0035]第一响应模块,用于响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息;
[0036]第一接收模块,用于接收所述待鉴权客户端发送的所述服务请求的第二签名信息和所述待鉴权客户端的待鉴权信息;其中,所述第二签名信息为所述待鉴权客户端对所述服务请求进行签名得到的;
[0037]第一查询模块,用于在所述第一签名信息与所述第二签名信息相匹配的情况下,在当前缓存信息中查询所述待鉴权信息对应的授权记录信息;
[0038]第一鉴权模块,用于在当前缓存信息中不包括所述授权记录信息的情况下,将所述待鉴权信息反馈至授权服务器,以使所述授权服务器对所述待鉴权信息进行鉴权。
[0039]在一些实施例中,所述API网关还包括:
[0040]第一匹配模块,用于在所述第一签名信息与所述第二签名信息不匹配的情况下,生成认证失败信息;
[0041]第一反馈模块,用于将所述认证失败信息,返回所述待鉴权客户端。
[0042]在一些实施例中,所述API网关还包括:
[0043]第一确定模块,用于确定所述第二签名信息对应的预设签名算法;
[0044]对应地,所述第一响应模块,还用于:对所述服务请求进行拦截,采用所述预设签
名算法对所述服务请求进行签名,确定所述服务请求的第一签名信息。
[0045]在一些实施例中,所述第一接收模块,包括:
[0046]第一确定子模块,用于确定所述服务请求的授权请求消息头;
[0047]第二确定子模块,用于确定所述授权请求消息头中携带的所述第二签名信息;
[0048]第三确定子模块,用于确定所述服务请求中携带的所述待鉴权客户端的待授权标识信息和统一资源定位符,以得到所述待鉴权信息。
[0049]在一些实施例中,所述第一查询模块,包括:
[0050]第一匹配子模块,用于在所述第一签名信息与所述第二签名信息相同的情况下,确定所述第一签名信息与所述第二签名信息相匹配;
[0051]第四确定子模块,用于确定所述当前缓存信息;
[0052]第一查询子模块,用于在所述当前缓存信息中,查询所述待鉴权标识信息的授权记录信息。
[0053]在一些实施例中,所述第一鉴权模块,还用于:
[0054]在所述当前缓存信息中不包括所述授权记录信息的情况下,将所述待授权标识信息和统一资源定位符反馈至所述授权服务器,以使所述授权服务器基于所述待授权本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种认证授权方法,其特征在于,所述方法包括:获取预设应用程序接口API的定义文件;解析所述定义文件,生成所述预设API的服务授权项;将所述服务授权项,加载到预设客户端的标识信息中,得到可授权信息;接收API网关发送的待鉴权客户端的待鉴权信息;基于所述可授权信息对所述待鉴权信息进行鉴权,得到所述待鉴权客户端的鉴权结果。2.根据权利要求1所述的方法,其特征在于,所述解析所述定义文件,生成所述预设API的服务授权项,包括:解析所述定义文件,得到所述预设API的属性信息;确定与所述属性信息相匹配的域名信息;在所述属性信息的基础上,添加所述域名信息,生成所述服务授权项。3.根据权利要求1所述的方法,其特征在于,所述将所述服务授权项,加载到预设客户端的标识信息中,得到可授权信息之前,所述方法还包括:基于所述服务授权项,确定授权条件;将标识信息满足所述授权条件的客户端,确定为所述预设客户端。4.根据权利要求1所述的方法,其特征在于,所述接收API网关发送的待鉴权客户端的待鉴权信息,包括:接收所述API网关发送的所述待鉴权客户端的待鉴权标识信息和统一资源定位符;对应地,所述基于所述可授权信息对所述待鉴权信息进行鉴权,得到所述待鉴权客户端的鉴权结果,包括:确定与所述待鉴权标识信息和所述统一资源定位符相匹配的目标信息;在所述可授权信息中包括所述目标信息的情况下,确定所述待鉴权客户端通过鉴权,并向所述API网关反馈鉴权成功信息;在所述待鉴权信息中不包括所述目标信息的情况下,确定所述待鉴权客户端未通过鉴权,并向所述API网关反馈鉴权失败信息。5.一种认证授权方法,其特征在于,所述方法包括:响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息;接收所述待鉴权客户端发送的所述服务请求的第二签名信息和所述待鉴权客户端的待鉴权信息;其中,所述第二签名信息为所述待鉴权客户端对所述服务请求进行签名得到的;在所述第一签名信息与所述第二签名信息相匹配的情况下,在当前缓存信息中查询所述待鉴权信息对应的授权记录信息;在当前缓存信息中不包括所述授权记录信息的情况下,将所述待鉴权信息反馈至授权服务器,以使所述授权服务器对所述待鉴权信息进行鉴权。6.根据权利要求5所述的方法,其特征在于,所述响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息之后,所述方法还包括:在所述第一签名信息与所述第二签名信息不匹配的情况下,生成认证失败信息;将所述认证失败信息,返回所述待鉴权客户端。
7.根据权利要求5所述的方法,其特征在于,所述响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息之前,所述方法还包括:确定所述第二签名信息对应的预设签名算法;对应地,所述响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息,包括:对所述服务请求进行拦截,采用所述预设签名算法对所述服务请求进行签名,确定所述服务请求的第一签名信息。8.根据权利要求5所述的方法,其特征在于,所述接收所述待鉴权客户端发送的所述服务请求的第二签名信息和所述待鉴权客户端的待鉴权信息,包括:确定所述服务请求的授权请求消息头;确定所述授权请求消息头中携带的所述第二签名信息;确定所述服务请求中携带的所述待鉴权客户端的待授权标识信息和统一资源定位符,以得到所述待鉴权信息。9.根据权利要求5所述的方法,其特征在于,所述在所述第一签名信息与所述第二签名信息相匹配的情况下,在当前缓存信息中查询所述待鉴权信息对应的授权记录信息,...

【专利技术属性】
技术研发人员:周明骏胡二洋吴军甫梁延鹏闫海成
申请(专利权)人:北京市商汤科技开发有限公司
类型:发明
国别省市:

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

1