权限认证的方法、微服务系统、系统、装置及存储介质制造方法及图纸

技术编号:36945583 阅读:10 留言:0更新日期:2023-03-22 19:06
本申请涉及计算机技术领域,提供了一种权限认证的方法、微服务系统、系统、装置及存储介质,用于解决现有技术中需要依赖外部系统进行鉴权的技术问题;该权限认证的方法应用于微服务平台中的网关中,包括:接收用户发送的请求信息,根据请求信息验证用户是否为已注册的消费者,并验证请求信息中请求的服务应用是否能提供服务;当校验结果为用户是已注册的消费者且请求的服务应用能提供服务,根据请求信息在缓存中检索服务应用对应的应用程序接口和用户的服务配额;当检索到用户的服务配额,且服务配额的额度大于零,将请求信息发送至应用程序接口中。序接口中。序接口中。

【技术实现步骤摘要】
权限认证的方法、微服务系统、系统、装置及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种权限认证的方法、微服务系统、系统、装置及存储介质。

技术介绍

[0002]随着互联网产业的快速发展,企业通过开放管理平台可以快速整合企业甚至整个行业内部的系统能力,将已有的数据以及业务能力以服务的方式暴露出来,提供应用程序接口(Application Program Interface,API)供外部的消费者使用,同时提供完整的服务全生命周期的管控能力以及服务的持续运营能力。
[0003]目前,公司开放产品管理平台主要的建设方案通过微服务架构方式构建,划分一个独立的服务作为能力开放网关,在外部代理到上游服务前,首先将请求代理至API能力开放服务,进行鉴权以及一系列业务认证操作,将结果返回至代理服务器,请求最终的目标地址,并返回结果。
[0004]但同时,通过将鉴权信息转发至外部系统的方式进行API能力认证导致请求调用链变长,并且依赖鉴权系统的网络环境,一旦鉴权服务宕机,将导致用户无法调用任何接口,极大降低了用户的体验。
[0005]鉴于此,如何不依赖外部系统进行鉴权成为了一个亟待解决的技术问题。

技术实现思路

[0006]本专利技术实施例提供了一种权限认证的方法、微服务系统、系统、装置及存储介质,用于现有技术中需要依赖外部系统进行鉴权的技术问题。
[0007]本申请第一方面提供了一种权限认证的方法,应用于微服务平台中的网关中,包括:
[0008]接收用户发送的请求信息,根据所述请求信息验证所述用户是否为已注册的消费者,并验证所述请求信息中请求的服务应用是否能提供服务;
[0009]当校验结果为所述用户是已注册的消费者且请求的服务应用能提供服务,根据所述请求信息在缓存中检索所述服务应用对应的应用程序接口和所述用户的服务配额;
[0010]当检索到所述用户的服务配额,且所述服务配额的额度大于零,将所述请求信息发送至应用程序接口中。
[0011]可选的,接收用户发送的请求信息,包括:
[0012]计算所述请求信息发送至所述应用程序接口时的时间偏差;
[0013]当所述时间偏差大于预设时间偏差时,拒绝所述请求信息并返回对应的错误报告;
[0014]当所述时间偏差小于等于预设时间偏差时,接收所述请求信息。
[0015]可选的,根据所述请求信息验证所述用户的是否为已注册的消费者,包括:
[0016]从所述请求信息中提取所述用户的用户名、加密算法、加密值和验证值;
[0017]根据所述用户名查询所述用户注册时约定的密钥;
[0018]使用加密算法计算所述密钥和所述加密值对应的哈希值,对比所述验证值和所述哈希值,当所述验证值和所述哈希值一致时确定所述用户为已注册的消费者,否则确定所述用户不是已注册的消费者。
[0019]可选的,验证所述请求信息中请求的服务应用是否能提供服务,包括:
[0020]从所述请求信息中提取所述用户请求的服务应用,从所述缓存或数据库中提取所述服务应用对应的服务实体信息;
[0021]当所述缓存或所述数据库中提取到所述服务应用的服务实体信息,确定所述请求信息中请求的服务应用能提供服务;否则,确定所述请求信息中请求的服务应用不能提供服务。
[0022]可选的,根据所述请求信息在缓存中检索所述服务应用对应的应用程序接口和所述用户的服务配额,包括:
[0023]根据所述请求信息中所述用户请求的服务应用,在所述缓存中的应用程序接口树中进行查询,获取所述服务应用对应的应用程序接口;
[0024]根据所述请求信息中的用户名,在所述缓存中的服务配额信息中查询所述用户名对应的服务配额。
[0025]可选的,根据所述请求信息中所述用户请求的服务应用,在所述缓存中的应用程序接口树中进行查询,获取所述服务应用对应的应用程序接口,包括:
[0026]根据所述服务应用在所述缓存中查询对应的服务名称、请求方法和请求路径;
[0027]根据所述服务名称,在所述应用程序接口树中查询根节点名称相同的根节点,根据所述请求方法在所述根节点所在的树中查询对应的二级节点,根据所述请求路径在所述二级节点的子节点中查询对应的子节点,将查询匹配到的应用程序接口树的子节点作为所述服务应用对应的应用程序接口。
[0028]可选的,当检索到所述用户的服务配额,且所述服务配额的额度大于零,将所述请求信息发送至应用程序接口中,包括:
[0029]根据所述用户的用户名和所述请求信息中请求的服务应用,从所述缓存中查询所述服务应用与所述用户名对应的服务配额是否存在,同时查询所述服务配额是否大于零;
[0030]当所述服务配额存在且大于零时,扣减所述服务配额的额度,将所述请求信息发送至所述应用程序接口中。
[0031]可选的,扣减所述服务配额的额度,包括:
[0032]根据所述服务应用的开销扣减所述服务配额的额度,将扣减后的服务配额存入消息队列中,使所述服务应用通过所述消息队列同步所述消费后的服务配额。
[0033]第二方面,本申请提供了一种微服务系统,包括:
[0034]客户端,用于发送用户的请求信息;
[0035]网关,用于接收所述客户端发送的请求信息,并使用如第一方面中任一项所述的方法进行权限认证,并将认证通过的所述请求信息发送至应用程序接口中;
[0036]服务器端,用于通过应用程序接口中接收请求信息,并为所述用户提供相应的服务。
[0037]第三方面,本申请提供了一种权限认证的系统,包括:
[0038]请求信息验证单元,用于接收用户发送的请求信息,根据所述请求信息验证所述用户是否为已注册的消费者,并验证所述请求信息中请求的服务应用是否能提供服务;
[0039]服务应用调用单元,用于当校验结果为所述用户是已注册的消费者且请求的服务应用能提供服务,根据所述请求信息在缓存中检索所述服务应用对应的应用程序接口和所述用户的服务配额;
[0040]请求信息发送单元,用于当检索到所述用户的服务配额,且所述服务配额的额度大于零,将所述请求信息发送至应用程序接口中。
[0041]可选的,请求信息验证单元用于:
[0042]计算所述请求信息发送至所述应用程序接口时的时间偏差;
[0043]当所述时间偏差大于预设时间偏差时,拒绝所述请求信息并返回对应的错误报告;
[0044]当所述时间偏差小于等于预设时间偏差时,接收所述请求信息。
[0045]可选的,请求信息验证单元用于:
[0046]从所述请求信息中提取所述用户的用户名、加密算法、加密值和验证值;
[0047]根据所述用户名查询所述用户注册时约定的密钥;
[0048]使用加密算法计算所述密钥和所述加密值对应的哈希值,对比所述验证值和所述哈希值,当所述验证值和所述哈希值一致时确定所述用户为已注册的消费者,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种权限认证的方法,应用于微服务平台中的网关中,其特征在于,包括:接收用户发送的请求信息,根据所述请求信息验证所述用户是否为已注册的消费者,并验证所述请求信息中请求的服务应用是否能提供服务;当校验结果为所述用户是已注册的消费者且请求的服务应用能提供服务,根据所述请求信息在缓存中检索所述服务应用对应的应用程序接口和所述用户的服务配额;当检索到所述用户的服务配额,且所述服务配额的额度大于零,将所述请求信息发送至应用程序接口中。2.如权利要求1所述的方法,其特征在于,接收用户发送的请求信息,包括:计算所述请求信息发送至所述应用程序接口时的时间偏差;当所述时间偏差大于预设时间偏差时,拒绝所述请求信息并返回对应的错误报告;当所述时间偏差小于等于预设时间偏差时,接收所述请求信息。3.如权利要求1所述的方法,其特征在于,根据所述请求信息验证所述用户的是否为已注册的消费者,包括:从所述请求信息中提取所述用户的用户名、加密算法、加密值和验证值;根据所述用户名查询所述用户注册时约定的密钥;使用加密算法计算所述密钥和所述加密值对应的哈希值,对比所述验证值和所述哈希值,当所述验证值和所述哈希值一致时确定所述用户为已注册的消费者,否则确定所述用户不是已注册的消费者。4.如权利要求1所述的方法,其特征在于,验证所述请求信息中请求的服务应用是否能提供服务,包括:从所述请求信息中提取所述用户请求的服务应用,从所述缓存或数据库中提取所述服务应用对应的服务实体信息;当所述缓存或所述数据库中提取到所述服务应用的服务实体信息,确定所述请求信息中请求的服务应用能提供服务;否则,确定所述请求信息中请求的服务应用不能提供服务。5.如权利要求1所述的方法,其特征在于,根据所述请求信息在缓存中检索所述服务应用对应的应用程序接口和所述用户的服务配额,包括:根据所述请求信息中所述用户请求的服务应用,在所述缓存中的应用程序接口树中进行查询,获取所述服务应用对应的应用程序接口;根据所述请求信息中的用户名,在所述缓存中的服务配额信息中查询所述用户名对应的服务配额。6.如权利要求5所述的方法,其特征在于,根据所述请求信息中所述用户请求的服务应用,在所述缓存中的应用程序接口树中进行查询,获取所述服务应用对应的应用程序接口,包括:根据所述服务应用在所述缓存中查询对应的服务名称、请求方法和请求路径;根据所述服务名称,在所述应用程序接口树中查询根节点名称相同的根...

【专利技术属性】
技术研发人员:王晓峰廖浩伟王晗刘雨露李志真张祥陈少鹏
申请(专利权)人:中国星网网络应用有限公司
类型:发明
国别省市:

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

1