微服务间服务访问认证方法及系统技术方案

技术编号:27202577 阅读:11 留言:0更新日期:2021-01-31 12:16
本发明专利技术提供了一种微服务间服务访问认证方法及系统。该方法包括:网关设备接收到发往微服务系统中的服务请求时,根据权限路由将该服务请求分配到调用方微服务的服务器上;运行调用方微服务的服务器处理该服务请求时,确定需要调用提供方微服务,则由调用方微服务的服务器与提供方微服务的服务器进行基于JWT的微服务权限同步;根据同步后的微服务权限调用提供方微服务。本发明专利技术提供的微服务间服务访问认证方法及系统能够提供一种在微服务架构下,基于公私钥证书的身份认证机制,扩展基于授权的服务权限控制以及跨域跨中心的安全认证。服务权限控制以及跨域跨中心的安全认证。服务权限控制以及跨域跨中心的安全认证。

【技术实现步骤摘要】
微服务间服务访问认证方法及系统


[0001]本专利技术涉及微服务架构
,特别是涉及一种微服务间服务访问认证方法及系统。

技术介绍

[0002]微服务体系是目前比较流行的分布式框架,其是在云中部署应用和服务的新技术。微服务可以在"自己的系统"中运行应用,并通过"轻量级设备与HTTP型API进行沟通"。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程。
[0003]在微服务框架中,外部请求在进入微服务系统中时,在通过API网关时,网关作为入口对该请求进行认证与鉴权,请求认证鉴权成功进入网关后,分发请求在进入各个微服务应用时,微服务不再进行有效的安全认证与授权,由于无法鉴权,使得有些私密的API接口直接暴露在外,降低了整个系统安全性大大的降低
[0004]在中国专利技术专利申请CN110022279A中,本专利技术的目的在于解决现有技术的不足,提供一种在微服务架构下,基于公私钥证书的身份认证机制,扩展基于授权的服务权限控制以及跨域跨中心的安全认证。
[0005]对于中国专利技术专利申请CN110022279A中,觉得还存在以下缺点:1)缺少一套完善的基于授权的服务权限控制;2)没有跨域跨中心的安全认证体系。

技术实现思路

[0006]本专利技术要解决的技术问题是提供一种微服务间服务访问认证方法及系统,能够提供一种在微服务架构下,基于公私钥证书的身份认证机制,扩展基于授权的服务权限控制以及跨域跨中心的安全认证。
[0007]为解决上述技术问题,本专利技术提供了一种微服务间服务访问认证方法,所述方法包括:网关设备接收到发往微服务系统中的服务请求时,根据权限路由将该服务请求分配到调用方微服务的服务器上;运行调用方微服务的服务器处理该服务请求时,确定需要调用提供方微服务,则由调用方微服务的服务器与提供方微服务的服务器进行基于JWT的微服务权限同步;根据同步后的微服务权限调用提供方微服务。
[0008]在一些实施方式中,基于JWT的微服务权限同步包括:正常交易过程的微服务权限同步,以及异常交易的微服务权限同步。
[0009]在一些实施方式中,正常交易过程的微服务权限同步包括:微服务从配置中心同步服务调用权限并保存到本地上下文;调用方微服务使用本地JWT访问提供方微服务;提供方微服务使用安全中心公钥验证并解开JWT;提供方微服务获取JWT中的请求方信息和JWT时间信息;提供方微服务判断请求方合法性、服务调用权限、JWT过期;访问提供方微服务。
[0010]在一些实施方式中,异常交易过程的微服务权限同步包括:微服务从配置中心同步服务调用权限并保存到本地上下文;提供方微服务验证合法性或调用权限失败,返回错误信息;提供方微服务验证无JWT信息或JWT信息不合法,返回错误信息;提供方微服务判断JWT过期,返回错误信息,消费方刷新JWT,并重新访问。
[0011]在一些实施方式中,还包括:执行跨域跨中心的安全认证。
[0012]在一些实施方式中,执行跨域跨中心的安全认证,包括:跨中心访问服务的注册地址为当前中心的网关地址,由网关负责注册到当前中心的注册中心。
[0013]在一些实施方式中,还包括:执行调用方微服务的JWT更新。
[0014]在一些实施方式中,执行调用方微服务的JWT更新,包括:调用方微服务在本地JWT超时前认证发起异步刷新JWT;认证中心验证调用方身份;若身份验证失败,则返回错误信息;若身份认证中心用验证成功,获取Redis中缓存的JWT;缓存未命中或JWT将过期,则私钥加签JWT存储到Redis并返回;认证中心将JWT返回给调用方微服务,调用方微服务保存到本地上下文。
[0015]此外,本专利技术还提供了一种微服务间服务访问认证系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的微服务间服务访问认证方法。
[0016]采用这样的设计后,本专利技术至少具有以下优点:
[0017]1.灵活扩展,支持微服务应用维度、接口API维度的访问认证控制;
[0018]2.提供基于授权的服务权限控制;
[0019]3.支持跨域跨中心的微服务间访问的认证机制,保证系统的高可靠架构。
附图说明
[0020]上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。
[0021]图1是现有技术提供的微服务间服务访问认证的流程图;
[0022]图2是本专利技术实施例提供的服务安全认证过程的流程图;
[0023]图3是本专利技术实施例提供的跨域跨中心安全认证的流程图;
[0024]图4是本专利技术实施例提供的微服务间服务访问认证系统的结构图。
具体实施方式
[0025]以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。
[0026]在本专利技术实施例提供的技术方案中,JWT英文名是Json Web Token,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用在跨域身份验证。
[0027]Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
[0028]SOA:(Service-Oriented Architecture)-面向服务的体系架构。
[0029]服务认证:微服务间的访问认证,包含权限控制与授权。
[0030]参见图1,微服务间服务访问认证的流程包括:网关设备接收到发往微服务系统中的服务请求时,进行认证鉴权;并在认证鉴权成功时,根据权限路由将该服务请求分配到对应的运行第一个微服务的服务器上;运行第一个微服务的服务器处理该服务请求时,若确定需要与运行第二个微服务的服务器通信,则向认证鉴权服务器发送获取令牌TOKEN的请求;运行第一个微服务的服务器在接收到认证鉴权服务器响应的TOKEN时,携带TOKEN向运行第二个微服务的服务器发送服务请求;运行第二个微服务的服务器接收到运行第一个微服务的服务器发送的服务请求时,向认证鉴权服务器验证该服务请求携带的TOKEN;运行第二个微服务的服务器在接收到验证服务器响应的所述TOKEN对应的权限信息时,若根据接收到权限信息确定服务请求对应的用户有权限访问,则处理所述服务请求,并向运行第一个微服务的服务器响应处理结果。
[0031]参见图2,客户端Token刷新过程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务间服务访问认证方法,其特征在于,包括:网关设备接收到发往微服务系统中的服务请求时,根据权限路由将该服务请求分配到调用方微服务的服务器上;运行调用方微服务的服务器处理该服务请求时,确定需要调用提供方微服务,则由调用方微服务的服务器与提供方微服务的服务器进行基于JWT的微服务权限同步;根据同步后的微服务权限调用提供方微服务。2.根据权利要求1所述的微服务间服务访问认证方法,其特征在于,基于JWT的微服务权限同步包括:正常交易过程的微服务权限同步,以及异常交易的微服务权限同步。3.根据权利要求2所述的微服务间服务访问认证方法,其特征在于,正常交易过程的微服务权限同步包括:微服务从配置中心同步服务调用权限并保存到本地上下文;调用方微服务使用本地JWT访问提供方微服务;提供方微服务使用安全中心公钥验证并解开JWT;提供方微服务获取JWT中的请求方信息和JWT时间信息;提供方微服务判断请求方合法性、服务调用权限、JWT过期;访问提供方微服务。4.根据权利要求2所述的微服务间服务访问认证方法,其特征在于,异常交易过程的微服务权限同步包括:微服务从配置中心同步服务调用权限并保存到本地上下文;提供方微服务验证合法性或调用权限失败,返回错误信息;提供方微服务验证无JWT信息或JWT信息不合法,返回错误...

【专利技术属性】
技术研发人员:陈宏鸿范兴泽周侃
申请(专利权)人:北京神州数字科技有限公司
类型:发明
国别省市:

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

1