利索能及
我要发布
收藏
专利号: 2021102659598
申请人: 北京市商汤科技开发有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-13
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种认证授权方法,其特征在于,所述方法包括:

获取预设应用程序接口API的定义文件;

解析所述定义文件,生成每一预设API对应的服务授权项,细粒度到单个API级别,以针对不同的客户端能够根据所述服务授权项访问指定的API服务;其中,所述预设API的数量与所述服务授权项的数量一一对应;

将所述服务授权项,加载到预设客户端的标识信息中,得到可授权信息;其中,所述预设客户端满足所述服务授权项包括的内容和所述服务授权项所属的场景;

接收API网关发送的待鉴权客户端的待鉴权信息;其中,所述待鉴权信息包括:所述待鉴权客户端的标识信息和统一资源定位符;

基于所述可授权信息对所述待鉴权信息进行鉴权,得到所述待鉴权客户端的鉴权结果。

2.根据权利要求1所述的方法,其特征在于,所述解析所述定义文件,生成每一预设API对应的服务授权项,包括:解析所述定义文件,得到所述每一预设API的属性信息;

确定与所述属性信息相匹配的域名信息;

在所述属性信息的基础上,添加所述域名信息,生成所述每一预设API对应的服务授权项。

3.根据权利要求1所述的方法,其特征在于,所述将所述服务授权项,加载到预设客户端的标识信息中,得到可授权信息之前,所述方法还包括:基于所述服务授权项,确定授权条件;

将标识信息满足所述授权条件的客户端,确定为所述预设客户端。

4.根据权利要求1所述的方法,其特征在于,所述接收API网关发送的待鉴权客户端的待鉴权信息,包括:接收所述API网关发送的所述待鉴权客户端的待鉴权标识信息和统一资源定位符;

对应地,所述基于所述可授权信息对所述待鉴权信息进行鉴权,得到所述待鉴权客户端的鉴权结果,包括:确定与所述待鉴权标识信息和所述统一资源定位符相匹配的目标信息;

在所述可授权信息中包括所述目标信息的情况下,确定所述待鉴权客户端通过鉴权,并向所述API网关反馈鉴权成功信息;

在所述待鉴权信息中不包括所述目标信息的情况下,确定所述待鉴权客户端未通过鉴权,并向所述API网关反馈鉴权失败信息。

5.一种认证授权方法,其特征在于,所述方法包括:

响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息;

接收所述待鉴权客户端发送的所述服务请求的第二签名信息和所述待鉴权客户端的待鉴权信息;其中,所述第二签名信息为所述待鉴权客户端对所述服务请求进行签名得到的;所述待鉴权信息包括:所述待鉴权客户端的标识信息和统一资源定位符;

在所述第一签名信息与所述第二签名信息相匹配的情况下,在当前缓存信息中查询所述待鉴权信息对应的授权记录信息;

在当前缓存信息中不包括所述授权记录信息的情况下,将所述待鉴权信息反馈至授权服务器,以使所述授权服务器基于可授权信息对所述待鉴权信息进行鉴权;其中,所述可授权信息对应的预设客户端满足服务授权项包括的内容和所述服务授权项所属的场景;所述服务授权项是通过解析预设应用程序接口API的定义文件生成的,所述定义文件用于为每一预设API生成对应的服务授权项,细粒度到单个API级别,以针对不同的客户端能够根据所述服务授权项访问指定的API服务;所述可授权信息为将所述服务授权项,加载到预设客户端的标识信息中得到的;其中,所述预设API的数量与所述服务授权项的数量一一对应。

6.根据权利要求5所述的方法,其特征在于,所述响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息之后,所述方法还包括:在所述第一签名信息与所述第二签名信息不匹配的情况下,生成认证失败信息;

将所述认证失败信息,返回所述待鉴权客户端。

7.根据权利要求5所述的方法,其特征在于,所述响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息之前,所述方法还包括:确定所述第二签名信息对应的预设签名算法;

对应地,所述响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息,包括:对所述服务请求进行拦截,采用所述预设签名算法对所述服务请求进行签名,确定所述服务请求的第一签名信息。

8.根据权利要求5所述的方法,其特征在于,所述接收所述待鉴权客户端发送的所述服务请求的第二签名信息和所述待鉴权客户端的待鉴权信息,包括:确定所述服务请求的授权请求消息头;

确定所述授权请求消息头中携带的所述第二签名信息;

确定所述服务请求中携带的所述待鉴权客户端的待鉴权标识信息和统一资源定位符,以得到所述待鉴权信息。

9.根据权利要求5所述的方法,其特征在于,所述在所述第一签名信息与所述第二签名信息相匹配的情况下,在当前缓存信息中查询所述待鉴权信息对应的授权记录信息,包括:在所述第一签名信息与所述第二签名信息相同的情况下,确定所述第一签名信息与所述第二签名信息相匹配;

确定所述当前缓存信息;

在所述当前缓存信息中,查询所述待鉴权客户端的待鉴权标识信息的授权记录信息。

10.根据权利要求8或9所述的方法,其特征在于,所述在当前缓存信息中不包括所述授权记录信息的情况下,将所述待鉴权信息反馈至授权服务器,以使所述授权服务器基于可授权信息对所述待鉴权信息进行鉴权,包括:在所述当前缓存信息中不包括所述授权记录信息的情况下,将所述待鉴权标识信息和统一资源定位符反馈至所述授权服务器,以使所述授权服务器基于所述可授权信息、所述待鉴权标识信息和所述统一资源定位符对所述待鉴权标识信息进行鉴权。

11.根据权利要求5所述的方法,其特征在于,所述在当前缓存信息中不包括所述授权记录信息的情况下,将所述待鉴权信息反馈至授权服务器,以使所述授权服务器基于可授权信息对所述待鉴权信息进行鉴权之后,所述方法还包括:接收所述授权服务器返回的所述待鉴权客户端的鉴权结果;

将所述鉴权结果记录在当前缓存中,更新所述当前缓存信息,得到更新的缓存信息。

12.根据权利要求11所述的方法,其特征在于,所述接收所述授权服务器返回的所述待鉴权客户端的鉴权结果之后,所述方法还包括:在所述鉴权结果表征所述待鉴权客户端通过鉴权的情况下,在所述更新的缓存信息中,设定所述待鉴权客户端的权限有效时长;

在所述有效时长内,将所述服务请求发送至应用服务器;

接收所述应用服务器返回的所述服务请求的处理结果,并将所述处理结果反馈至所述待鉴权客户端。

13.根据权利要求11所述的方法,其特征在于,所述接收所述授权服务器返回的所述待鉴权客户端的鉴权结果之后,所述方法还包括:在所述鉴权结果表征所述待鉴权客户端未通过鉴权的情况下,生成鉴权失败信息;

将所述鉴权失败信息反馈至所述待鉴权客户端。

14.一种授权服务器,其特征在于,所述授权服务器包括:

第一获取模块,用于获取预设应用程序接口API的定义文件;

第一解析模块,用于解析所述定义文件,生成每一预设API对应的服务授权项,细粒度到单个API级别,以针对不同的客户端能够根据所述服务授权项访问指定的API服务;其中,所述预设API的数量与所述服务授权项的数量一一对应;

第一加载模块,用于将所述服务授权项,加载到预设客户端的标识信息中,得到可授权信息;其中,所述预设客户端满足所述服务授权项包括的内容和所述服务授权项所属的场景;

第一接收模块,用于接收API网关发送的待鉴权客户端的待鉴权信息;其中,所述待鉴权信息包括:所述待鉴权客户端的标识信息和统一资源定位符;

第一鉴权模块,用于基于所述可授权信息对所述待鉴权信息进行鉴权,得到所述待鉴权客户端的鉴权结果。

15.一种API网关,其特征在于,所述API网关包括:

第一响应模块,用于响应于待鉴权客户端发送的服务请求,确定所述服务请求的第一签名信息;

第一接收模块,用于接收所述待鉴权客户端发送的所述服务请求的第二签名信息和所述待鉴权客户端的待鉴权信息;其中,所述第二签名信息为所述待鉴权客户端对所述服务请求进行签名得到的;所述待鉴权信息包括:所述待鉴权客户端的标识信息和统一资源定位符;

第一查询模块,用于在所述第一签名信息与所述第二签名信息相匹配的情况下,在当前缓存信息中查询所述待鉴权信息对应的授权记录信息;

第一鉴权模块,用于在当前缓存信息中不包括所述授权记录信息的情况下,将所述待鉴权信息反馈至授权服务器,以使所述授权服务器基于可授权信息对所述待鉴权信息进行鉴权;其中,所述可授权信息对应的预设客户端满足服务授权项包括的内容和所述服务授权项所属的场景;所述服务授权项是通过解析定义文件生成的,所述定义文件用于为每一预设应用程序接口API生成对应的服务授权项,细粒度到单个API级别,以针对不同的客户端能够根据所述服务授权项访问指定的API服务;所述可授权信息为将所述服务授权项,加载到预设客户端的标识信息中得到的;其中,所述预设API的数量与所述服务授权项的数量一一对应。

16.一种认证授权系统,其特征在于,所述系统包括:

授权服务器,用于实现上述权利要求1至4任一项所述的方法步骤;

API网关,用于实现上述权利要求5至13任一项所述的方法步骤。

17.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现权利要求1至4任一项所述的方法步骤;或者,该计算机可执行指令被执行后,能够实现权利要求5至13任一项所述的方法步骤。