CN115643061A - 微服务网关鉴权方法、装置、设备及介质 - Google Patents
微服务网关鉴权方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115643061A CN115643061A CN202211241889.3A CN202211241889A CN115643061A CN 115643061 A CN115643061 A CN 115643061A CN 202211241889 A CN202211241889 A CN 202211241889A CN 115643061 A CN115643061 A CN 115643061A
- Authority
- CN
- China
- Prior art keywords
- authentication token
- user
- user request
- authentication
- 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.)
- Pending
Links
Images
Abstract
本公开涉及计算机应用技术领域,尤其涉及一种微服务网关鉴权方法、装置、设备及介质,通过响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,第一用户请求携带加密的认证令牌,认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;当验证通过时,通过目标微服务网关中的公钥对认证令牌进行解密处理。其中,公钥与对认证令牌进行加密的私钥一一对应;当确定对认证令牌解密成功时,根据认证令牌、网关权限信息表进行匹配,当匹配一致时,执行第一用户请求。采用该方法能够提高对第一用户请求操作权限鉴证的安全性,防止用户信息丢失。
Description
技术领域
本公开涉及计算机应用技术领域,尤其涉及一种微服务网关鉴权方法、装置、设备及介质。
背景技术
微服务架构是一种包含多个微服务的软件架构,其中,每个微服务都需要对用户发送的用户请求进行身份验证与操作权限鉴证,以此确定当前用户请求是否具有操作权限。
现有技术中,通过在微服务架构中设置网关,利用网关拦截用户请求,在用户请求中获取认证令牌包含的用户信息以及用户请求对应的请求路径,并与用户权限信息表、编码表进行匹配,当匹配一致,说明用户具有操作权限,则执行该用户请求。
然而,采用现有技术,由于可能存在伪造的认证令牌,导致在权限鉴证过程中,安全性较低,造成用户信息泄露。
发明内容
基于此,有必要针对上述技术问题,提供了一种微服务网关鉴权方法、装置、设备及介质。
本公开实施例的第一方面,提供一种微服务网关鉴权方法,所述方法包括:响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,所述第一用户请求携带加密的认证令牌,所述认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;
当验证通过时,通过所述目标微服务网关中的公钥对所述认证令牌进行解密处理,其中,所述公钥与对所述认证令牌进行加密的私钥一一对应;
当确定对所述认证令牌解密成功时,根据所述认证令牌、网关权限信息表进行匹配,当匹配一致时,执行所述第一用户请求。
在一个实施例中,所述第一用户请求还携带用户属性信息,所述属性信息至少包括用户名、用户密码、验证码;
所述通过在目标微服务网关中在预设缓存中验证所述认证令牌之前,还包括:
根据所述用户属性信息,确定在预设白名单中不存在所述第一用户请求。
在一个实施例中,所述认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的,包括:
获取用户通过客户端首次输入的所述第二用户请求;
根据所述第二用户请求携带的所述用户属性信息,判断在预设白名单中是否存在所述第二用户请求;
当确定在所述预设白名单中存在所述第二用户请求时,基于所述用户属性信息进行校验,当检验通过时,基于所述用户属性信息生成所述认证令牌,并对所述认证令牌进行加密处理;
将加密的所述认证令牌保存至所述预设缓存和预设内存中,其中,所述预设内存为所述客户端对应的内存。
在一个实施例中,所述认证令牌具有有效期;
通过在所述目标微服务网关中的预设缓存中验证所述认证令牌,包括:
判断在所述预设缓存中是否存在所述认证令牌;
若是,确定所述认证令牌是否在有效期内。
在一个实施例中,所述当确定对所述认证令牌解密成功时,根据所述认证令牌、网关权限信息表进行匹配,当匹配一致时,执行所述第一用户请求,包括:
当确定对所述认证令牌解密成功时,获取所述认证令牌包括的用户属性信息,以及所述第一用户请求对应的请求路径;
判断所述用户属性信息和所述请求路径与所述网关权限信息表中的访问权限是否匹配;
当匹配一致时,执行所述第一用户请求。
在一个实施例中,所述方法还包括:
当确定不在输入所述第一用户请求时,删除所述预设缓存中的所述认证令牌。
本公开实施例的第二方面,提供一种微服务网关鉴权装置,所述装置包括:
验证模块,用于响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,所述第一用户请求携带加密的认证令牌,所述认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;
解密模块,用于当验证通过时,通过所述目标微服务网关中的公钥对所述认证令牌进行解密处理,其中,所述公钥与对所述认证令牌进行加密的私钥一一对应;
匹配模块,用于当确定对所述认证令牌解密成功时,根据所述认证令牌、网关权限信息表进行匹配,当匹配一致时,执行所述第一用户请求。
在一个实施例中,所述装置还包括:判断模块;
所述判断模块,用于根据所述用户属性信息,确定在预设白名单中不存在所述第一用户请求。
本公开实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一所述的方法。
第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一所述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开提供了一种微服务网关鉴权方法、装置、设备及介质,通过响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,第一用户请求携带加密的认证令牌,认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;当验证通过时,通过目标微服务网关中的公钥对所述认证令牌进行解密处理。其中,公钥与对认证令牌进行加密的私钥一一对应;当确定对认证令牌解密成功时,根据认证令牌、网关权限信息表进行匹配,当匹配一致时,执行第一用户请求。在上述过程中,在对第一用户请求携带的认证令牌进行验证通过之后,进一步对认证令牌采用目标微服务网关中的公钥进行解密处理,通过加密解密的方式,保证认证令牌的安全性,且在解密处理成功之后,根据认证令牌、网关权限信息表进行匹配,确定是否执行第一用户请求,通过对认证令牌先进行验证,再进行解密的方式,提高了对第一用户请求操作权限鉴证的安全性,防止用户信息丢失。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种微服务网关鉴权方法的流程示意图;
图2为本公开实施例提供的一种微服务网关鉴权装置的结构示意图;
图3为本公开实施例提供的电子设备的内部结构图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
微服务架构是一种包含多个微服务的软件架构,其中,每个微服务都需要对用户发送的用户请求进行身份验证与操作权限鉴证,以此确定当前用户请求是否具有操作权限。
现有技术中,通过在微服务架构中设置网关,利用网关拦截用户请求,在用户请求中获取认证令牌包含的用户信息以及用户请求对应的请求路径,并与用户权限信息表、编码表进行匹配,当匹配一致,说明用户具有操作权限,则执行该用户请求。
然而,采用现有技术,由于可能存在伪造的认证令牌,导致在权限鉴证过程中,安全性较低,造成用户信息泄露。
基于此,本公开提供了一种微服务网关鉴权方法、装置、设备及介质,通过响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,第一用户请求携带加密的认证令牌,认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;当验证通过时,通过目标微服务网关中的公钥对所述认证令牌进行解密处理。其中,公钥与对认证令牌进行加密的私钥一一对应;当确定对认证令牌解密成功时,根据认证令牌、网关权限信息表进行匹配,当匹配一致时,执行第一用户请求。在上述过程中,在对第一用户请求携带的认证令牌进行验证通过之后,进一步对认证令牌采用目标微服务网关中的公钥进行解密处理,通过加密解密的方式,保证认证令牌的安全性,且在解密处理成功之后,根据认证令牌、网关权限信息表进行匹配,确定是否执行第一用户请求,通过对认证令牌先进行验证,再进行解密的方式,提高了对第一用户请求操作权限鉴证的安全性,防止用户信息丢失。
在一个实施例中,如图1所示,图1为本公开实施例提供的一种微服务网关鉴权方法的流程示意图,具体包括以下步骤:
S11:响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌。
其中,第一用户请求携带加密的认证令牌,认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的。第二用户请求是指用户在微服务系统中,通过在客户端第一次输入的用户请求,即,用户首次登录微服务系统,对于第二用户请求携带用户属性信息,该用户属性信息至少包括:用户名、用户密码、验证码,需要注意的的是,由于第二用户请求为第一次用户登录微服务系统输入的,此时在客户端无认证令牌,因此第二用户请求不携带认证令牌,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。
其中,目标微服务网关是指用来统一处理验证鉴权、流量管控的应用,对于微服务网关可以是Nginx、Zuul、Kong等,上述目标微服务网关可以是通过在接收到第一用户请求之后,通过负载均衡在多个微服务网关中确定一个空闲的微服务网关作为目标微服务网关,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。
上述预设缓存指的是用来存储根据用户属性信息在验证通过之后生成的认证令牌的空间,该预设缓存可以是Redis缓存,Redis缓存是一种基于内存、可持久化的日志型、Key-Value数据库的高性能存储系统,并能够提供多种语言的接口,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。
上述第一用户请求是指用户在微服务系统中,通过在客户端再次输入的用户请求,即,可以理解的是,该第一用户请求是在用户已经登录微服务系统之后,通过在客户端输入的用户请求,第一用户请求携带认证令牌。
具体的,在获取到用户通过客户端输入的第一用户请求时,响应于该第一用户请求,在目标微服务网关中的预设缓存中对第一用户请求携带的认证令牌进行验证。
S12:当验证通过时,通过目标微服务网关中的公钥对认证令牌进行解密处理。
其中,公钥与对认证令牌进行加密的私钥一一对应;
具体的,当确定对第一用户请求携带的认证令牌进行验证通过之后,在目标微服务网关中利用公钥对认证令牌进行解密处理。
需要说明的是,当通过公钥对认证令牌进行解密处理成功,则说明该认证令牌是在目标微服务网关中,根据相关的加密算法进行加密的,该加密算法例如可以是非对称加密算法,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。
S13:当确定对认证令牌解密成功时,根据认证令牌、网关权限信息表进行匹配,当匹配一致时,执行第一用户请求。
其中,网关权限信息表是指预先存储在目标微服务网关中的权限表,具体通过权限编码表进行匹配。
具体的,在确定对认证令牌解密成功之后,根据认证令牌以及目标微服务网关中的网关权限信息表进行匹配,以此确定用户信息是否正确以及能够进行授权,当匹配一致时,确定用户信息正确,能够进行授权,此时执行第一用户请求。
这样,本公开实施例提供的微服务网关鉴权的方法,通过响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,第一用户请求携带加密的认证令牌,认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;当验证通过时,通过目标微服务网关中的公钥对所述认证令牌进行解密处理。其中,公钥与对认证令牌进行加密的私钥一一对应;当确定对认证令牌解密成功时,根据认证令牌、网关权限信息表进行匹配,当匹配一致时,执行第一用户请求。在上述过程中,在对第一用户请求携带的认证令牌进行验证通过之后,进一步对认证令牌采用目标微服务网关中的公钥进行解密处理,通过加密解密的方式,保证认证令牌的安全性,且在解密处理成功之后,根据认证令牌、网关权限信息表进行匹配,确定是否执行第一用户请求,通过对认证令牌先进行验证,再进行解密的方式,提高了对第一用户请求操作权限鉴证的安全性,防止用户信息丢失。
可选的,在上述实施例的基础上,在本公开的一些实施例中,第一用户请求还携带用户属性信息,属性信息至少包括用户名、用户密码、验证码,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。在执行S11之前还包括:
步骤A:根据用户属性信息,确定在预设白名单中不存在第一用户请求。
其中,预设白名单是指预先存储在目标微服务网关的白名单,该预设白名单用来确定第一用户请求是否需要对认证令牌进行权限验证的,在该预设白名单可以存储但不限于多个用户名、验证码等,当第一用户请求携带的用户属性信息包括的用户名、验证码存在于预设白名单中时,确定该第一用户请求不需要对认证令牌进行权限验证的,相应的,当第一用户请求携带的用户属性信息包括的用户名、验证码不存在于预设白名单中时,确定该第一用户请求需要对认证令牌进行权限验证的,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。
具体的,在接收到用户在客户端输入的第一用户请求时,在目标微服务网关中存储的预设白名单中,确定是否存在第一用户请求,当确定在预设白名单中不存在第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌。
这样,本实施例提供的微服务网关鉴权的方法,通过优先利用预设白名单确定是否对第一用户请求中的认证令牌进行验证,直接执行不需要进行验证认证令牌的第一用户请求,能够减少资源浪费,提高对第一用户请求的执行效率。
可选的,在上述实施例的基础上,在本公开的一些实施例中,对于认证令牌的生成方式可以包括以下步骤:
获取用户通过客户端首次输入的第二用户请求。
根据第二用户请求携带的用户属性信息,判断在预设白名单中是否存在第二用户请求。
可选的,对于判断在预设白名单中是否存在第二用户请求的具体实现步骤参考上述实施例中的步骤A,此处不在过多赘述。
当确定在预设白名单中存在第二用户请求时,基于用户属性信息进行校验,当检验通过时,基于用户属性信息生成认证令牌,并对认证令牌进行加密处理。
将加密的认证令牌保存至预设缓存和预设内存中。
其中,预设内存为客户端对应的内存。
具体的,获取用户在客户端首次输入的第二用户请求,并根据第二用户请求携带的用户属性信息,确定第二用户请求存在于预设白名单中时,对用户属性信息进行校验,在校验通过之后,根据用户属性信息如用户名、用户密码、验证码等信息生成对应的认证令牌,并根据相关的加密算法对认证令牌进行加密处理,将加密处理过后的认证令牌保存至目标微服务网关中的预设缓存以及客户端对应的预设内存中。
可选的,在上述实施例的基础上,在本公开的一些实施例中,在目标微服务网关中,当基于用户属性信息生成对应的认证令牌时,通过非对称加密算法生成一对秘钥,实现对认证令牌的加密处理,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。
可选的,在上述实施例的基础上,在本公开的一些实施例中,能够通过微服务的登录接口将加密之后的认证令牌返回至客户端,并保存至客户端的预设内存中。
这样,本实施例提供的微服务网关鉴权的方法,通过根据在预设白名单中存在的第二用户请求携带的用户属性信息生成对应的认证令牌,并对该认证令牌进行加密处理,以此保证认证令牌的安全性,且将该认证令牌存储在目标微服务网关对应的预设缓存和客户端对应的预设内存中,以此方便后续在用户再次输入用户请求时进行验证。
可选的,在上述实施例的基础上,在本公开的一些实施例中,认证令牌具有有效期,上述通过在目标微服务网关中的预设缓存中验证认证令牌的一种实现方式可以是:
判断在预设缓存中是否存在认证令牌。
若是,确定认证令牌是否在有效期内。
其中,认证令牌具有有效期是指对根据用户属性信息生成的认证令牌设置了有效的期限,在该有效期中,对于携带该认证令牌的用户请求具有操作权限,即能够执行该用户请求,示例性的,该有效期例如可以是一个月,但不限于此,本公开不具体限制,本领域技术人员可根据实际情况设置。
具体的,在目标微服务网站中存储的预设缓存中,确定是否存在认证令牌,在确定存在认证令牌之后,确定该认证令牌的是否在有效期内,如果在有效期内,则验证通过,相应的,如果不在有效期内,则验证不通过。
这样,本实施例提供的微服务网关鉴权的方法,通过确定第一用户请求携带的认证令牌在有效期内,则确定认证令牌通过验证,以此方式保证认证令牌的合法性。
可选的,在上述实施例的基础上,在本公开的一些实施例中,S13的一种实现方式可以是:
当确定对认证令牌解密成功时,获取认证令牌包括的用户属性信息,以及第一用户请求对应的请求路径。
判断用户属性信息和请求路径与网关权限信息表中的访问权限是否匹配。
当匹配一致时,执行第一用户请求。
具体的,利用目标微服务网关中的公钥对认证令牌解密成功之后,获取认证令牌包括的用户属性信息,如用户名、用户密码、验证码,并获取第一用户请求对应的请求路径,通过网关权限信息表中的访问权限比较用户属性信息与请求路径是否匹配,在确定相匹配时,则执行第一用户请求。
可选的,在上述实施例的基础上,在本公开的一些实施例中,还包括:
当确定不在输入第一用户请求时,删除预设缓存中的认证令牌。
其中,上述当确定不在输入第一用户请求时是指用户退出微服务系统,不在客户端继续输入第一用户请求。
具体的,在确定用户不在客户端输入第一用户请求时,则删除预设缓存中的认证令牌,这样,避免用户在退出微服务系统之后,由于目标微服务网关中的预设缓存中存储了认证令牌,导致仍能够继续执行用户请求,造成系统错误的情况。
本公开实施例还提供了一种微服务网关鉴权装置,用于执行上述实施例提供的任一种微服务网关鉴权方法,具备微服务网关鉴权方法相应的有益效果。
图2为本公开实施例提供的一种微服务网关鉴权装置,包括:验证模块11、解密模块12以及匹配模块13.
其中,验证模块11,用于响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,所述第一用户请求携带加密的认证令牌,所述认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;
解密模块12,用于当验证通过时,通过所述目标微服务网关中的公钥对所述认证令牌进行解密处理,其中,所述公钥与对所述认证令牌进行加密的私钥一一对应;
匹配模块13,用于当确定对所述认证令牌解密成功时,根据所述认证令牌、网关权限信息表进行匹配,当匹配一致时,执行所述第一用户请求。
在上述实施例中,所述装置还包括:判断模块;
所述判断模块,用于根据所述用户属性信息,确定在预设白名单中不存在所述第一用户请求。
在上述实施例中,所述装置还包括:认证令牌生成模块,用于获取用户通过客户端首次输入的所述第二用户请求;
根据所述第二用户请求携带的所述用户属性信息,判断在预设白名单中是否存在所述第二用户请求;
当确定在所述预设白名单中存在所述第二用户请求时,基于所述用户属性信息进行校验,当检验通过时,基于所述用户属性信息生成所述认证令牌,并对所述认证令牌进行加密处理;
将加密的所述认证令牌保存至所述预设缓存和预设内存中,其中,所述预设内存为所述客户端对应的内存。
在上述实施例中,验证模块11,具体用于判断在所述预设缓存中是否存在所述认证令牌;
若是,确定所述认证令牌是否在有效期内。
在上述实施例中,匹配模块13,具体用于当确定对所述认证令牌解密成功时,获取所述认证令牌包括的用户属性信息,以及所述第一用户请求对应的请求路径;
判断所述用户属性信息和所述请求路径与所述网关权限信息表中的访问权限是否匹配;
当匹配一致时,执行所述第一用户请求。
在上述实施例中,所述装置还包括:删除模块,用于当确定不在输入所述第一用户请求时,删除所述预设缓存中的所述认证令牌。
这样,本实施例通过验证模块11用于响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,第一用户请求携带加密的认证令牌,认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;解密模块12用于当验证通过时,通过目标微服务网关中的公钥对认证令牌进行解密处理,其中,公钥与对认证令牌进行加密的私钥一一对应;匹配模块13,用于当确定对认证令牌解密成功时,根据认证令牌、网关权限信息表进行匹配,当匹配一致时,执行所述第一用户请求。在上述过程中,在对第一用户请求携带的认证令牌进行验证通过之后,进一步对认证令牌采用目标微服务网关中的公钥进行解密处理,通过加密解密的方式,保证认证令牌的安全性,且在解密处理成功之后,根据认证令牌、网关权限信息表进行匹配,确定是否执行第一用户请求,通过对认证令牌先进行验证,再进行解密的方式,提高了对第一用户请求操作权限鉴证的安全性,防止用户信息丢失。
图3是本公开实施例提供的一种电子设备的结构示意图,如图3所示,该电子设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现本发明实施例所提供的方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,可以包括键盘、鼠标等。输出装置340可包括显示屏等显示设备。
本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现本发明实施例所提供的方法,方法包括:
响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,第一用户请求携带加密的认证令牌,认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;
当验证通过时,通过目标微服务网关中的公钥对认证令牌进行解密处理,其中,公钥与对认证令牌进行加密的私钥一一对应;
当确定对认证令牌解密成功时,根据认证令牌、网关权限信息表进行匹配,当匹配一致时,执行第一用户请求。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各实施例所述的方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种微服务网关鉴权方法,其特征在于,所述方法包括:
响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,所述第一用户请求携带加密的认证令牌,所述认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;
当验证通过时,通过所述目标微服务网关中的公钥对所述认证令牌进行解密处理,其中,所述公钥与对所述认证令牌进行加密的私钥一一对应;
当确定对所述认证令牌解密成功时,根据所述认证令牌、网关权限信息表进行匹配,当匹配一致时,执行所述第一用户请求。
2.根据权利要求1所述的方法,其特征在于,所述第一用户请求还携带用户属性信息,所述属性信息至少包括用户名、用户密码、验证码;
所述通过在目标微服务网关中在预设缓存中验证所述认证令牌之前,还包括:
根据所述用户属性信息,确定在预设白名单中不存在所述第一用户请求。
3.根据权利要求1所述的方法,其特征在于,所述认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的,包括:
获取用户通过客户端首次输入的所述第二用户请求;
根据所述第二用户请求携带的所述用户属性信息,判断在预设白名单中是否存在所述第二用户请求;
当确定在所述预设白名单中存在所述第二用户请求时,基于所述用户属性信息进行校验,当检验通过时,基于所述用户属性信息生成所述认证令牌,并对所述认证令牌进行加密处理;
将加密的所述认证令牌保存至所述预设缓存和预设内存中,其中,所述预设内存为所述客户端对应的内存。
4.根据权利要求1任一项所述的方法,其特征在于,所述认证令牌具有有效期;
通过在所述目标微服务网关中的预设缓存中验证所述认证令牌,包括:
判断在所述预设缓存中是否存在所述认证令牌;
若是,确定所述认证令牌是否在有效期内。
5.根据权利要求1所述的方法,其特征在于,所述当确定对所述认证令牌解密成功时,根据所述认证令牌、网关权限信息表进行匹配,当匹配一致时,执行所述第一用户请求,包括:
当确定对所述认证令牌解密成功时,获取所述认证令牌包括的用户属性信息,以及所述第一用户请求对应的请求路径;
判断所述用户属性信息和所述请求路径与所述网关权限信息表中的访问权限是否匹配;
当匹配一致时,执行所述第一用户请求。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当确定不在输入所述第一用户请求时,删除所述预设缓存中的所述认证令牌。
7.一种微服务网关鉴权装置,其特征在于,所述装置包括:
验证模块,用于响应于用户通过客户端输入的第一用户请求,通过在目标微服务网关中的预设缓存中验证认证令牌,其中,所述第一用户请求携带加密的认证令牌,所述认证令牌是在首次获取第二用户请求时根据用户属性信息在验证通过之后生成的;
解密模块,用于当验证通过时,通过所述目标微服务网关中的公钥对所述认证令牌进行解密处理,其中,所述公钥与对所述认证令牌进行加密的私钥一一对应;
匹配模块,用于当确定对所述认证令牌解密成功时,根据所述认证令牌、网关权限信息表进行匹配,当匹配一致时,执行所述第一用户请求。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:判断模块;
所述判断模块,用于根据所述用户属性信息,确定在预设白名单中不存在所述第一用户请求。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的微服务网关鉴权方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一项所述的微服务网关鉴权方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211241889.3A CN115643061A (zh) | 2022-10-11 | 2022-10-11 | 微服务网关鉴权方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211241889.3A CN115643061A (zh) | 2022-10-11 | 2022-10-11 | 微服务网关鉴权方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115643061A true CN115643061A (zh) | 2023-01-24 |
Family
ID=84943338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211241889.3A Pending CN115643061A (zh) | 2022-10-11 | 2022-10-11 | 微服务网关鉴权方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115643061A (zh) |
-
2022
- 2022-10-11 CN CN202211241889.3A patent/CN115643061A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493202B (zh) | 登录令牌的生成及验证方法、装置和服务器 | |
CN110691087B (zh) | 一种访问控制方法、装置、服务器及存储介质 | |
CN111935094B (zh) | 数据库访问方法、装置、系统及计算机可读存储介质 | |
KR102493744B1 (ko) | 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버 | |
US20190281028A1 (en) | System and method for decentralized authentication using a distributed transaction-based state machine | |
CN109274652B (zh) | 身份信息验证系统、方法及装置及计算机存储介质 | |
US9246897B2 (en) | Method and system of login authentication | |
US8225384B2 (en) | Authentication system for enhancing network security | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
CN112313648A (zh) | 认证系统、认证方法、应用提供装置、认证装置以及认证用程序 | |
WO2015010568A1 (en) | Method,apparatus and server for identity authentication | |
CN112000951A (zh) | 一种访问方法、装置、系统、电子设备及存储介质 | |
CN113221128B (zh) | 账号和密码的存储方法及注册管理系统 | |
CN109842616B (zh) | 账号绑定方法、装置及服务器 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
Guirat et al. | Formal verification of the W3C web authentication protocol | |
CN114157434A (zh) | 登录验证方法、装置、电子设备及存储介质 | |
US20180039771A1 (en) | Method of and server for authorizing execution of an application on an electronic device | |
CN115842680A (zh) | 一种网络身份认证管理方法及系统 | |
US11924211B2 (en) | Computerized device and method for authenticating a user | |
WO2021107755A1 (en) | A system and method for digital identity data change between proof of possession to proof of identity | |
CN108965335B (zh) | 防止恶意访问登录接口的方法、电子设备及计算机介质 | |
CN112865981B (zh) | 一种令牌获取、验证方法及装置 | |
CN111723347B (zh) | 身份认证方法、装置、电子设备及存储介质 | |
US20220116220A1 (en) | Password management system and method |
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 |