CN111865882A - 一种微服务认证方法和系统 - Google Patents

一种微服务认证方法和系统 Download PDF

Info

Publication number
CN111865882A
CN111865882A CN201910359846.7A CN201910359846A CN111865882A CN 111865882 A CN111865882 A CN 111865882A CN 201910359846 A CN201910359846 A CN 201910359846A CN 111865882 A CN111865882 A CN 111865882A
Authority
CN
China
Prior art keywords
token
request
information
user information
gateway
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910359846.7A
Other languages
English (en)
Other versions
CN111865882B (zh
Inventor
左姗姗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Taiyue Software Co Ltd
Original Assignee
Beijing Shenzhou Taiyue Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Shenzhou Taiyue Software Co Ltd filed Critical Beijing Shenzhou Taiyue Software Co Ltd
Priority to CN201910359846.7A priority Critical patent/CN111865882B/zh
Publication of CN111865882A publication Critical patent/CN111865882A/zh
Application granted granted Critical
Publication of CN111865882B publication Critical patent/CN111865882B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明公开一种微服务认证方法和系统。本发明的系统包括认证中心和网关;本发明的方法包括:在认证中心接收到请求时,认证中心根据登录的用户信息生成token,并将token添加到请求后转发给网关;网关通过提取请求中的token进行解析,在解析用户信息有效后,保留请求中的token,并将请求转发到第一微服务上,由第一微服务响应请求。本发明利用证中心生成包含用户信息的token给请求,并将请求转发到网关,所有微服务的请求都会被网关截取进行用户认证分析,只有认证通过的请求才能正常转发,保证微服务能进行安全的身份认证、并减少服务端和客户端之间的交互,且具有在接入新的微服务时,后期改造工作量小、网络资源消耗低的优势。

Description

一种微服务认证方法和系统
技术领域
本发明涉及微服务技术领域,尤其涉及一种微服务认证方法和系统。
背景技术
随着微服务架构的兴起,传统的单体应用场景下的身份认证和鉴权面临的挑战越来越大。单体应用体系下,应用是一个整体,一般针对所有的请求都会进行权限校验,请求一般会通过一个权限的拦截器进行权限的校验,在登录时将用户信息缓存到session中,后续访问则从缓存中获取用户信息。而微服务架构下,一个应用会被拆分成若干个微应用,每个微应用都需要对访问进行鉴权,每个微应用都需要明确当前访问用户以及其权限。
目前,通常通过以下两种方案进行微服务的身份认证,一种是单点登录(SingleSign On,SSO),另一种是分布式Session方案。
SSO主要创建有一个独立的认证中心,只有认证中心才能接受用户的用户名和密码等信息进行认证,其他系统不提供登录入口,只接受认证中心的间接授权,间接授权通过令牌实现,当用户提供的用户名和密码通过认证中心认证后,认证中心会创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌即得到了授权,然后创建局部会话。
该方案的缺点是:每个面向用户的服务都必须与认证服务交互,这会产生大量非常琐碎的昂贵流量和重复的工作,当接入的微应用越来越多时,弊端更加明显,不利于系统重构。
分布式Session方案主要是将关于用户认证的信息存储在共享存储中,且通常由用户会话作为key来实现的简单分布式哈希映射,当用户访问微服务时,用户数据可以从共享存储中获取。
该方案的缺点是:共享存储需要一定保护机制,因此需要通过安全链接来访问,该方案的实现具有相当高的复杂性。
发明内容
本发明提供了一种微服务认证方法和系统,以至少部分解决上述问题。
第一方面,本发明提供了一种微服务认证方法,配置认证中心和网关,包括:在认证中心接收到请求时,认证中心根据登录的用户信息生成token,并将token添加到请求后转发给网关;网关通过提取请求中的token进行解析,在解析用户信息有效后,保留请求中的token,并将请求转发到第一微服务上,由第一微服务响应请求。
在一些实施例中,由第一微服务响应所述请求,包括:在第一微服务调用第二微服务时,第一微服务提取所述请求中的token进行解析,对解析到的用户信息按照预设加密算法加密生成签名,由第一微服务将签名添加到调用第二微服务的调用请求中后进行发送。
在一些实施例中,由第一微服务将签名添加到调用第二微服务的调用请求中后进行发送,包括:网关截取所述调用请求,并从调用请求中提取签名进行解析,在解析到有效的用户信息时,根据用户信息生成token,并将token添加到调用请求后转发给第二微服务,第二微服务进行响应。
在一些实施例中,对解析到的用户信息按照预设加密算法加密生成签名,包括:第一微服务利用所述网关颁发给第一微服务的KEY、当前时间戳、加密类型、加密算法、密钥进行预设加密算法的加密,加密后生成所述签名。
在一些实施例中,根据用户信息生成token,包括:网关获取token作者信息、token基本信息和token用户信息并分别对所述token作者信息、token基本信息和token用户信息进行编码加密;其中,所述token作者信息包括token生成的生成者、使用者、过期时间、签发时间,所述token基本信息包括token类型、token使用的加密算法,所述token用户信息包括用户账号、用户名称。
在一些实施例中,认证中心根据登录的用户信息生成token,包括:认证中心获取token作者信息、token基本信息和token用户信息,并分别对所述token作者信息、token基本信息和token用户信息进行编码加密;其中,所述token作者信息包括token生成的生成者、使用者、过期时间、签发时间,所述token基本信息包括token类型、token使用的加密算法,所述token用户信息包括用户账号、用户名称。
在一些实施例中,分别对token作者信息、token基本信息和token用户信息进行编码加密,包括:将token作者信息、token基本信息和token用户信息分别转换成json格式;将json格式的token作者信息和token基本信息进行base64编码,得到token作者信息和token基本信息的加密字符串;以及利用所述token基本信息中的加密算法对json格式的token用户信息加密,再对加密后所述token用户信息进行base64编码,得到token用户信息的加密字符串;利用所述token作者信息、token基本信息和token用户信息的加密字符串生成token。
第二方面,本发明提供了一种微服务认证系统,配置有认证中心和网关;认证中心,在接收到请求时,根据登录的用户信息生成token,并将所述token添加到所述请求后转发给所述网关;网关,通过提取所述请求中的所述token进行解析,在解析所述用户信息有效后,保留所述请求中的所述token,并将所述请求转发到第一微服务上,由所述第一微服务响应所述请求。
第三方面,本发明提供了一种计算机装置,包括:包括处理器和存储器;存储器,存储计算机可执行指令;处理器,所述计算机可执行指令在被执行时使处理器执行微服务认证方法。
第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质上存储有一个或多个计算机程序,一个或多个计算机程序被执行时实现微服务认证方法。
本发明预先创建认证中心和网关,利用证中心生成包含用户信息的token给请求,并将请求转发到网关,所有微服务的请求都会被网关截取进行用户认证分析,只有认证通过的请求才能正常转发,保证微服务能进行安全的身份认证、并减少服务端和客户端之间的交互,且具有在接入新的微服务时,后期改造工作量小、网络资源消耗低的优势。
附图说明
图1为本发明实施例示出的微服务认证方法的流程图;
图2为本发明实施例示出的微服务认证系统的结构框图;
图3为本发明实施例示出的计算机装置的结构示意图。
具体实施方式
本发明实施例提供一种微服务认证方法,创建一个独立的认证中心和一个独立的网关,认证中心会颁发token给请求,所有的请求都会走网关,网关会解析token来判断是否将请求放行,减少服务端和客户端之间的交互,并且能够安全的进行身份认证,而且介入新的微服务所需改造也较小,无需较多的网络消耗。本发明实施例还提供了相应的系统、计算机装置和计算机可读存储介质,以下分别进行详细说明。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本发明的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本发明的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本发明的上下文中,计算机可读存储介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
在微服务架构下,每个微服务拆分的粒度会很细,并且不只有用户和微服务打交道,还有微服务之间的调用,而微服务属于无状态服务,本发明实施例旨在达到保证微服务能进行安全的身份认证、后期改造工作量小、网络资源消耗低等目的。
本发明提供一种微服务认证方法,本实施例预先配置认证中心和网关,认证中心有统一的登录入口,通过用户名密码验证后可以颁发token给请求,网关截取所有的请求,网关解析请求中的token来判断是否将请求放行。
图1为本发明实施例示出的微服务认证方法的流程图,如图1所示,本实施例的方法包括:
S110,在所述认证中心接收到请求时,所述认证中心根据登录的用户信息生成token,并将所述token添加到所述请求后转发给所述网关。
S120,所述网关通过提取所述请求中的所述token进行解析,在解析所述用户信息有效后,保留所述请求中的所述token,并将所述请求转发到第一微服务上,由所述第一微服务响应所述请求。
本实施例预先创建认证中心和网关,利用证中心生成包含用户信息的token给请求,并将请求转发到网关,所有微服务的请求都会被网关截取进行用户认证分析,只有认证通过的请求才能正常转发,保证微服务能进行安全的身份认证、并减少服务端和客户端之间的交互,且在接入新的微服务时,后期改造工作量小、网络资源消耗低。
下面对上述步骤S110-S120进行详细说明。
首先,执行步骤S110,即在所述认证中心接收到请求时,所述认证中心根据登录的用户信息生成token,并将所述token添加到所述请求后转发给所述网关。
本实施例中的认证中心有统一的登录入口页面,通过用户名密码验证后,认证中心根据登录的用户信息生成token,具体是认证中心获取token作者信息、token基本信息和token用户信息,并分别对token作者信息、token基本信息和token用户信息进行编码加密。
即本实施例中的token中包含三个部分:token作者信息、token基本信息、token用户信息;其中,token作者信息包括token生成的生成者、使用者、过期时间、签发时间,token基本信息包括token类型、token使用的加密算法,token用户信息包括用户账号、用户名称。
认证中心通过下述方法对token作者信息、token基本信息和token用户信息进行编码加密:首先将token作者信息、token基本信息和token用户信息分别转换成json格式;接着将json格式的所述token作者信息和token基本信息进行base64编码,得到所述token作者信息和token基本信息的加密字符串;以及利用所述token基本信息中的加密算法对json格式的所述token用户信息加密,再对加密后所述token用户信息进行base64编码,得到所述token用户信息的加密字符串;然后利用token作者信息、token基本信息和token用户信息的加密字符串生成token。
在一些实施例中,token为由三段字符串中间用符号“.”连接在一起的加密字符串。认证中心会将生成的token添加到请求的header中,并将携带token的请求转发到网关上。
在将所述token添加到所述请求后转发给所述网关之后,继续执行步骤S120,即所述网关通过提取所述请求中的所述token进行解析,在解析所述用户信息有效后,保留所述请求中的所述token,并将所述请求转发到第一微服务上,由所述第一微服务响应所述请求。
本实施例中的网关会截取所有的请求,即所有的请求都会通过网关进行转发,网关接收到认证中心发过来的携带有token的请求时,网关会从该请求中提取出token并解析,获取到token携带的用户信息、签发时间、过期时间等信息,通过判断用户信息有效后会将保留该请求中的token并将请求放行转发到第一微服务上。
本实施例仅需要登录一次认证中心进行身份认证,已经通过用户身份认证的请求,网关会在请求的header中添加token,使得所有走网关的请求都不需要再次进行身份认证,由此减少服务端和客户端之间的交互。
在一些实施例中,当第一微服务响应所述请求时需要调用第二微服务时,第一微服务提取请求中的token进行解析,对解析到的用户信息按照预设加密算法加密生成签名,由第一微服务将签名添加到调用第二微服务的调用请求中后进行发送,此时网关截取该调用请求,并从所述调用请求中提取所述签名进行解析,在解析到有效的用户信息时,根据所述用户信息生成token,并将所述token添加到所述调用请求后转发给第二微服务,第二微服务进行响。由于第二微服务的调用请求中携带有token,会被网关放行,调用请求正常响应到第一微服务上,第一微服务获取到数据进行业务响应。
其中,第一微服务利用网关颁发给所述第一微服务的KEY、当前时间戳、加密类型、加密算法、密钥进行预设加密算法的加密,加密后生成签名。
在结合本实施例的一个示例中,在微服务A需要调用微服务B时,只需要从请求中提取token并解析获取到用户信息,然后再使用网关颁发给微服务A的KEY、当前时间戳、加密类型、加密算法、密钥进行指定加密算法的加密生成一个签名,再调用微服务B的Restful接口的调用请求中添加将该签名。网关获取到微服务A调用微服务B的调用请求时,会从该调用请求中获取签名,网关先对该签名进行解析,如果获取到了正确的用户信息,则基于该用户信息生成新的token,并将该token添加到调用请求的header中,将调用请求转发到微服务B上。微服务B的请求中携带有token,会被网关正常转发,请求正常响应回到微服务A上,微服务A获得其需要的数据进行页面展示。
在本实施例中,网格根据用户信息生成token的方法包括:网关获取token作者信息、token基本信息和token用户信息并分别对所述token作者信息、token基本信息和token用户信息进行编码加密;其中,所述token作者信息包括token生成的生成者、使用者、过期时间、签发时间,所述token基本信息包括token类型、token使用的加密算法,所述token用户信息包括用户账号、用户名称。
即网关通过下述方法对token作者信息、token基本信息和token用户信息进行编码加密:首先将token作者信息、token基本信息和token用户信息分别转换成json格式;接着将json格式的所述token作者信息和token基本信息进行base64编码,得到所述token作者信息和token基本信息的加密字符串;以及利用所述token基本信息中的加密算法对json格式的所述token用户信息加密,再对加密后所述token用户信息进行base64编码,得到所述token用户信息的加密字符串;然后利用token作者信息、token基本信息和token用户信息的加密字符串生成token。
本发明还提供一种微服务认证系统。
图2为本发明实施例示出的微服务认证系统的结构框图,如图2所示,本实施的系统配置有认证中心和网关;
所述认证中心,在接收到请求时,根据登录的用户信息生成token,并将所述token添加到所述请求后转发给所述网关;
所述网关,通过提取所述请求中的所述token进行解析,在解析所述用户信息有效后,保留所述请求中的所述token,并将所述请求转发到第一微服务上,由所述第一微服务响应所述请求。
在一些实施例中,微服务认证系统还包括多个微服务,所述第一微服务,在调用第二微服务时,提取所述请求中的所述token进行解析,对解析到的用户信息按照预设加密算法加密生成签名,并将所述签名添加到调用所述第二微服务的调用请求中后进行发送。
相应的,所述网关,截取所述调用请求,并从所述调用请求中提取所述签名进行解析,在解析到有效的用户信息时,根据所述用户信息生成token,并将所述token添加到所述调用请求后转发给所述第二微服务,第二微服务进行响。
所述第一微服务,具体是利用所述网关颁发给所述第一微服务的KEY、当前时间戳、加密类型、加密算法、密钥进行预设加密算法的加密,加密后生成所述签名。
在一些实施例中,所述认证中心,获取token作者信息、token基本信息和token用户信息,并分别对所述token作者信息、token基本信息和token用户信息进行编码加密。具体是,将所述token作者信息、token基本信息和token用户信息分别转换成json格式;将json格式的所述token作者信息和token基本信息进行base64编码,得到所述token作者信息和token基本信息的加密字符串;以及利用所述token基本信息中的加密算法对json格式的所述token用户信息加密,再对加密后所述token用户信息进行base64编码,得到所述token用户信息的加密字符串;利用所述token作者信息、token基本信息和token用户信息的加密字符串生成所述token。
所述网关,获取token作者信息、token基本信息和token用户信息并分别对所述token作者信息、token基本信息和token用户信息进行编码加密。具体是,将所述token作者信息、token基本信息和token用户信息分别转换成json格式;将json格式的所述token作者信息和token基本信息进行base64编码,得到所述token作者信息和token基本信息的加密字符串;以及利用所述token基本信息中的加密算法对json格式的所述token用户信息加密,再对加密后所述token用户信息进行base64编码,得到所述token用户信息的加密字符串;利用所述token作者信息、token基本信息和token用户信息的加密字符串生成所述token。
对于微服务综合认证系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的微服务综合认证系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明还提供了一种计算机装置。
图3为本发明实施例示出的计算机装置的结构示意图,如图3所示,在硬件层面,该计算机装置包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器等。当然,该计算机装置还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机可执行指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成认证中心或网关。处理器,执行存储器所存放的程序实现如上文描述的微服务认证方法。
上述如本说明书图3所示实施例揭示的认证中心或网关执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上文描述的微服务认证方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述微服务认证方法的步骤。
本发明还提供了一种计算机可读存储介质。
该计算机可读存储介质存储一个或多个计算机程序,该一个或多个计算机程序包括指令,该指令当被处理器执行时,能够实现上文描述的微服务认证方法。
为了便于清楚描述本发明实施例的技术方案,在发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种微服务认证方法,其特征在于,配置认证中心和网关,所述方法包括:
在所述认证中心接收到请求时,所述认证中心根据登录的用户信息生成token,并将所述token添加到所述请求后转发给所述网关;
所述网关通过提取所述请求中的所述token进行解析,在解析所述用户信息有效后,保留所述请求中的所述token,并将所述请求转发到第一微服务上,由所述第一微服务响应所述请求。
2.根据权利要求1所述的方法,其特征在于,所述由所述第一微服务响应所述请求,包括:
在所述第一微服务调用第二微服务时,所述第一微服务提取所述请求中的所述token进行解析,对解析到的用户信息按照预设加密算法加密生成签名,由所述第一微服务将所述签名添加到调用所述第二微服务的调用请求中后进行发送。
3.根据权利要求2所述的方法,其特征在于,所述由所述第一微服务将所述签名添加到调用所述第二微服务的调用请求中后进行发送,包括:
所述网关截取所述调用请求,并从所述调用请求中提取所述签名进行解析,在解析到有效的用户信息时,根据所述用户信息生成token,并将所述token添加到所述调用请求后转发给所述第二微服务,所述第二微服务进行响应。
4.根据权利要求2所述的方法,其特征在于,所述对解析到的用户信息按照预设加密算法加密生成签名,包括:
所述第一微服务利用所述网关颁发给所述第一微服务的KEY、当前时间戳、加密类型、加密算法、密钥进行预设加密算法的加密,加密后生成所述签名。
5.根据权利要求3所述的方法,其特征在于,所述根据所述用户信息生成token,包括:
所述网关获取token作者信息、token基本信息和token用户信息并分别对所述token作者信息、token基本信息和token用户信息进行编码加密;
其中,所述token作者信息包括token生成的生成者、使用者、过期时间、签发时间,所述token基本信息包括token类型、token使用的加密算法,所述token用户信息包括用户账号、用户名称。
6.根据权利要求1所述的方法,其特征在于,所述认证中心根据登录的用户信息生成token,包括:
所述认证中心获取token作者信息、token基本信息和token用户信息,并分别对所述token作者信息、token基本信息和token用户信息进行编码加密;
其中,所述token作者信息包括token生成的生成者、使用者、过期时间、签发时间,所述token基本信息包括token类型、token使用的加密算法,所述token用户信息包括用户账号、用户名称。
7.根据权利要求5或6所述的方法,其特征在于,所述分别对所述token作者信息、token基本信息和token用户信息进行编码加密,包括:
将所述token作者信息、token基本信息和token用户信息分别转换成json格式;
将json格式的所述token作者信息和token基本信息进行base64编码,得到所述token作者信息和token基本信息的加密字符串;以及利用所述token基本信息中的加密算法对json格式的所述token用户信息加密,再对加密后所述token用户信息进行base64编码,得到所述token用户信息的加密字符串;
利用所述token作者信息、token基本信息和token用户信息的加密字符串生成所述token。
8.一种微服务综合认证系统,其特征在于,配置有认证中心和网关;
所述认证中心,在接收到请求时,根据登录的用户信息生成token,并将所述token添加到所述请求后转发给所述网关;
所述网关,通过提取所述请求中的所述token进行解析,在解析所述用户信息有效后,保留所述请求中的所述token,并将所述请求转发到第一微服务上,由所述第一微服务响应所述请求。
9.一种计算机装置,其特征在于,包括处理器和存储器;
所述存储器,存储计算机可执行指令;
所述处理器,所述计算机可执行指令在被执行时使所述处理器执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有一个或多个计算机程序,所述一个或多个计算机程序被执行时实现如权利要求1-7任一项所述的方法。
CN201910359846.7A 2019-04-30 2019-04-30 一种微服务认证方法和系统 Active CN111865882B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910359846.7A CN111865882B (zh) 2019-04-30 2019-04-30 一种微服务认证方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910359846.7A CN111865882B (zh) 2019-04-30 2019-04-30 一种微服务认证方法和系统

Publications (2)

Publication Number Publication Date
CN111865882A true CN111865882A (zh) 2020-10-30
CN111865882B CN111865882B (zh) 2023-03-31

Family

ID=72965506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910359846.7A Active CN111865882B (zh) 2019-04-30 2019-04-30 一种微服务认证方法和系统

Country Status (1)

Country Link
CN (1) CN111865882B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422533A (zh) * 2020-11-05 2021-02-26 杭州米络星科技(集团)有限公司 用户访问网络的验证方法、装置及电子设备
CN112491895A (zh) * 2020-11-30 2021-03-12 武汉海昌信息技术有限公司 一种基于微服务的身份认证方法、存储介质及系统
CN112583834A (zh) * 2020-12-14 2021-03-30 建信金融科技有限责任公司 一种通过网关单点登录的方法和装置
CN115065717A (zh) * 2022-05-24 2022-09-16 中原银行股份有限公司 一种微服务调用处理方法及处理装置
CN115086048A (zh) * 2022-06-20 2022-09-20 中电金信软件有限公司 数据处理方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810029A (zh) * 2018-07-23 2018-11-13 珠海宏桥高科技有限公司 一种微服务架构服务间鉴权系统及优化方法
CN109413032A (zh) * 2018-09-03 2019-03-01 中国平安人寿保险股份有限公司 一种单点登录方法、计算机可读存储介质及网关
CN109802835A (zh) * 2019-01-25 2019-05-24 北京中电普华信息技术有限公司 一种安全认证方法、系统及api网关

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810029A (zh) * 2018-07-23 2018-11-13 珠海宏桥高科技有限公司 一种微服务架构服务间鉴权系统及优化方法
CN109413032A (zh) * 2018-09-03 2019-03-01 中国平安人寿保险股份有限公司 一种单点登录方法、计算机可读存储介质及网关
CN109802835A (zh) * 2019-01-25 2019-05-24 北京中电普华信息技术有限公司 一种安全认证方法、系统及api网关

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金一科: "《微服务架构的数据传输和鉴权研究》", 《万方数据》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422533A (zh) * 2020-11-05 2021-02-26 杭州米络星科技(集团)有限公司 用户访问网络的验证方法、装置及电子设备
CN112491895A (zh) * 2020-11-30 2021-03-12 武汉海昌信息技术有限公司 一种基于微服务的身份认证方法、存储介质及系统
CN112583834A (zh) * 2020-12-14 2021-03-30 建信金融科技有限责任公司 一种通过网关单点登录的方法和装置
CN112583834B (zh) * 2020-12-14 2022-08-09 建信金融科技有限责任公司 一种通过网关单点登录的方法和装置
CN115065717A (zh) * 2022-05-24 2022-09-16 中原银行股份有限公司 一种微服务调用处理方法及处理装置
CN115086048A (zh) * 2022-06-20 2022-09-20 中电金信软件有限公司 数据处理方法、装置、电子设备及可读存储介质
CN115086048B (zh) * 2022-06-20 2023-12-15 中电金信软件有限公司 数据处理方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN111865882B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
CN111865882B (zh) 一种微服务认证方法和系统
US11095455B2 (en) Recursive token binding for cascaded service calls
US10382426B2 (en) Authentication context transfer for accessing computing resources via single sign-on with single use access tokens
US10462121B2 (en) Technologies for authentication and single-sign-on using device security assertions
WO2017028804A1 (zh) 一种Web实时通信平台鉴权接入方法及装置
US9917829B1 (en) Method and apparatus for providing a conditional single sign on
TWI725958B (zh) 雲端主機服務權限控制方法、裝置和系統
KR101850677B1 (ko) 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템
US9479496B2 (en) Communication terminal and secure log-in method acquiring password from server using user ID and sensor data
US10218691B2 (en) Single sign-on framework for browser-based applications and native applications
WO2017020452A1 (zh) 认证方法和认证系统
US10262146B2 (en) Application-to-application messaging over an insecure application programming interface
US20160381001A1 (en) Method and apparatus for identity authentication between systems
CN105354451B (zh) 访问鉴权的方法及系统
CN103139200A (zh) 一种web service单点登录的方法
CN112491776B (zh) 安全认证方法及相关设备
CN111669351B (zh) 鉴权方法、业务服务器、客户端及计算机可读存储介质
CN112491778A (zh) 认证方法、装置、系统及介质
CN111147525A (zh) 基于api网关的认证方法、系统、服务器和存储介质
CN114157434A (zh) 登录验证方法、装置、电子设备及存储介质
CN113821784A (zh) 多系统单点登录方法、装置及计算机可读存储介质
CN109587098B (zh) 一种认证系统和方法、授权服务器
KR101836211B1 (ko) 전자 기기 인증 매니저 장치
CN112560003A (zh) 用户权限管理方法和装置
WO2019184206A1 (zh) 身份认证方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant