CN111988262B - 认证方法、装置及服务器、存储介质 - Google Patents
认证方法、装置及服务器、存储介质 Download PDFInfo
- Publication number
- CN111988262B CN111988262B CN201910425528.6A CN201910425528A CN111988262B CN 111988262 B CN111988262 B CN 111988262B CN 201910425528 A CN201910425528 A CN 201910425528A CN 111988262 B CN111988262 B CN 111988262B
- Authority
- CN
- China
- Prior art keywords
- token
- authentication
- user
- user information
- information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
- H04L9/3213—Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Abstract
本申请实施例公开了一种基于OpenStack Swift的认证方法、装置及服务器、计算机可读存储介质,其中,方法包括:获取携带token的请求;将token与缓存系统中的预存储token进行一一比对,判断是否存在与token一致的目标预存储token;当存在目标预存储token时,根据目标预存储token对应的第一用户信息和请求携带的存储路径信息对应的用户信息,得到认证结果;当不存在目标预存储token时,对token进行逆向解密,得到认证信息;根据预存储认证信息和认证信息,得到认证结果。本申请实施例可以降低认证服务对缓存服务的依赖性,提升集群高可用性。
Description
技术领域
本申请属于存储技术领域,尤其涉及一种基于OpenStack Swift的认证方法、装置及服务器、计算机可读存储介质。
背景技术
OpenStack是一个开源的云计算管理平台项目,其中,Swift组件是OpenStack的对象存储服务,是一个可扩展并且提供冗余的存储系统,可以提供高可用的分布式对象存储服务,适合存储大规模非结构化数据。
用户在访问Swift服务之前,需要先经过认证系统认证,获得临时访问令牌,再通过该临时访问令牌访问Swift对象存储服务。目前,Swift服务一般是通过tempauth认证中间件进行认证的,其认证过程可以具体为:tempauth认证中间件通过UUID的方式生成token,将该token分配给用户,并将token存入memcache系统;当获取到用户携带token的访问请求时,从memcache系统中查找该token,如果能查找到,并且该token对应的用户信息合法,则认证成功,反之,如果没有查找到则认证失败。
tempauth认证中间件虽然具有使用方便、功能齐全以及执行效率高等优点,但是,其也存在强依赖memcache服务的问题。即一个Swift集群所有的proxy服务节点必须配置同一个memcache服务,以使得某一台proxy节点生成的token能在任意一个proxy节点上使用,保证各个proxy节点的正常工作。一旦这个memcache服务出现故障,导致整个Swift集群的认证服务均不可用,Swift集群的高可用性十分低下。
发明内容
有鉴于此,本申请实施例提供一种基于OpenStack Swift的认证方法、装置及服务器、计算机可读存储介质,以解决现有Swift集群的认证服务强依赖于缓存服务,从而导致集群高可用性较低的问题。
本申请实施例的第一方面提供一种基于Openstack Swift的认证方法,包括:
获取携带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和对应的账户、角色关联存储至所述缓存系统中。
本申请实施例的第二方面提供一种基于Openstack Swift的认证装置,包括:
请求获取模块,用于获取携带token的请求,所述token为预先对认证信息进行加密得到的临时令牌;
判断模块,用于将所述token与缓存系统中的预存储token进行一一比对,判断是否存在与所述token一致的目标预存储token;
第一认证模块,用于当存在所述目标预存储token时,根据所述目标预存储token对应的第一用户信息和所述请求携带的存储路径信息对应的用户信息,得到认证结果;
解密模块,用于当不存在所述目标预存储token时,对所述token进行逆向解密,得到认证信息;
第二认证模块,用于根据预存储认证信息和所述认证信息,得到认证结果。
本申请实施例的第三方面提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述方法的步骤。
本申请实施例的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述方法的步骤。
本申请实施例通过在获取到携带token的请求时,先在缓存中查找该token,如果能查找到一致的token,则根据该token对应的用户信息进行认证,而如果没有查找到一致的token,则逆向解密该token以得到认证信息,根据认证信息进行认证。这样,即使Swift集群中的缓存服务出现故障,也能通过逆向解密token以进行认证,降低了认证服务对缓存服务的依赖性,提高了集群的高可用性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的Swift集群认证系统的架构示意框图;
图2为本申请实施例提供的一种基于Openstack Swift的认证方法的流程示意框图;
图3为本申请实施例提供的认证过程的流程示意框图;
图4为本申请实施例提供的token分配过程的流程示意框图;
图5为本申请实施例提供的认证交互过程的示意图;
图6为本申请实施例提供的一种基于Openstack Swift的认证装置的结构示意框图;
图7为本申请实施例提供的服务器的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
在介绍本申请实施例的具体技术方案之前,首先对本申请实施例可能涉及的系统架构进行说明。
请参加图1,为本申请实施例提供的Swift集群认证系统的架构示意框图,该系统可以包括客户端11、至少一个proxy服务器节点12。可选地,在一些实施例中,该系统还可以管理节点13。其中,proxy服务节点12可以包括缓存系统、认证中间件和proxy服务。当然,认证中间件也可以独立于proxy服务器节点和客户端,介于客户端和proxy节点之间。
其中,proxy服务器可以接收并响应客户端的请求,例如,数据访问请求、token分配请求等。客户端的请求均需要先通过认证中间件进行身份认证,认证通过后,才会响应请求,提供相应的proxy服务。Proxy服务节点上的缓存系统可以是任意类型的缓存系统,一般情况下,该缓存服务具体表现为memcache服务。认证中间件主要用于提供认证服务,其可以读取用户信息,将用户信息存入内存系统;根据用户的token分配请求,验证用户的身份合法性,然后为该用户分配token;并在用户发起任意请求时,例如,数据访问请求,根据请求携带的token进行认证,认证通过后,进入后续的proxy服务。
需要说明的是,图1中虽然示出了每个proxy服务器节点都包括自身的缓存系统,但仅仅是一种示例。实际上,各个proxy节点可以使用任意的缓存服务,即可以是所有的proxy节点共用一个缓存服务,可以是一个proxy节点对应一个缓存服务,也可以是多个proxy节点对应一个缓存服务。也即,不管proxy节点与缓存服务的对应关系如何,本申请实施例的认证方法均可以降低认证服务对缓存服务的强依赖性,提升集群的高可用性。
具体来说,在本申请实施例提供的认证方案中,先根据token在缓存系统中查找,如果查找到一致的token,则根据该token对应的用户信息进行认证;如果查找不到一致的token,则逆向解密token得到认证信息,根据该认证信息进行认证,这样,即使在缓存中找不到一致的token,仍然可以通过解密token进行认证,保障Swift集群认证服务的正常运行。
现有的认证方法只能通过从缓存服务中查找token进行认证,而为了保证任意一个proxy节点生成的token可以在任意一个proxy节点上认证成功,集群内的所有节点必须使用同一个缓存服务。假如不使用同一个缓存服务,可能导致在某个节点生成的token无法访问另一个节点。例如,集群中包括A节点、B节点以及C节点,某个token是由A节点分配给用户的,而用户通过该token访问B节点时,假如A节点和B节点没有共用一个缓存服务,由于B节点的缓存中没有该token,则无法进行认证或认证不成功,从而导致用户无法访问B节点。所以必须A节点、B节点以及C节点必须共用同一个缓存服务,才能使得用户通过A节点分配的token访问B节点。
而本申请实施例的认证方法对应的系统架构可以是任意的,其可以与现有的系统架构相同,即所有节点共用同一个缓存服务。此时,在缓存服务发生故障时,本申请实施例的认证方法仍然可以通过逆向解密token进行认证,保证了集群认证服务的正常工作;也可以与现有的系统架构不相同,具体为,各proxy节点均可以对应一个缓存服务,或者多个proxy节点对应一个缓存服务。
例如,集群包括A节点、B节点以及C节点,A节点对应一个缓存服务,B节点和C节点对应一个缓存服务。某个token是由A节点分配给用户的,故该token存储在A节点的缓存中,而B节点和C节点对应的缓存中没有存储有该token。如果用户通过该token访问A节点时,A节点的认证中间件可以从自身缓存中查找到该token,再基于该token对应的用户信息进行比对认证。如果用户通过该token访问B节点,由于B节点的缓存系统中没有该token,B节点则对该token进行逆向解密,根据解密得到的认证信息进行认证。其中,对token逆向解密是指对预先将认证信息进行加密得到的token,使用对应的解密算法进行解密,得到认证信息的过程,加密算法和解密算法相对应,且算法类型可以是任意的。假如用户通过该token访问其中任意一个节点,而该节点对应的缓存系统发生故障时,节点可以对该token进行逆向解密,根据解密得到的信息进行认证。
相较而言,集群所有proxy节点共用一个缓存服务时,会增加单个缓存服务的压力,而多个节点对应一个缓存服务,甚至于一个节点对应一个缓存服务,可以有效降低单个缓存服务的压力。换句话说,缓存服务所对应的proxy节点越少,单个缓存服务的压力越小。
此外,token解密过程需要耗费一定的时间,假如不先判断缓存系统中是否有相应的token,而是直接对该token进行解密认证,即对所有的token均进行解密认证,会增加认证耗时,降低认证效率。而本申请实施例先判断缓存系统中是否有相应的token,如果有,则直接根据该token对应的用户信息进行认证,只有在缓存系统中没有该token时,才进行解密认证,可以使得大部分token不需解密,直接完成验证,能大幅提升认证效率。也就是说,本申请实施例的认证方法在保证一定认证效率的同时,还提升了Swift集群认证服务的高可用性。
可以理解的是,一般情况下,用户需要使用登录账号、密码等用户信息登录系统,登录成功后后才可以使用token发起相应的请求,例如,访问某个节点上存储数据,或者调用某个节点上的存储数据,此时,token认证是为了身份鉴权,即验证该用户是否具备某个权限等,故一般的token认证过程是使用token和用户信息进行认证,而不会直接使用用户信息进行认证的。管理节点可以外现为一个管理主机,其不是Swift集群节点,也不属于Swift集群,且管理节点的个数可以是一个,也可以是多个。管理节点可以用于管理proxy服务器节点上的用户信息,例如,增加、删减、修改等。该节点上运行有用户信息管理程序,可以将用户信息存储在用户信息文件中,并通过一定的加密算法对用户信息文件进行加密,再实时或周期性地将加密后的用户信息文件传输给proxy节点;还可以在监控到用户修改密码时,周期或实时向proxy节点发送用户信息重载指令,以使proxy节点重新读取用户信息。而另一些实施例中,上述管理节点的功能可以由任意节点实现。
需要说明的是,此处介绍的系统架构仅仅是一种示例,并不造成对本申请实施例的系统架构的限定。
在介绍完本申请实施例可能涉及的大体系统架构之后,下面将对本申请实施例的具体技术方案进行介绍说明。为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
实施例一
本申请实施例将认证中间件侧介绍认证方法流程。
请参加图2,为本申请实施例提供的一种基于Openstack Swift的认证方法的流程示意框图,该方法可以包括以下步骤:
步骤S201、获取携带token的请求,token为预先对认证信息进行加密得到的临时令牌。
可以理解的是,上述请求是指某一个proxy节点为用户分配完token之后,用户通过客户端向集群中任意一个proxy节点发起的请求,该请求可以是除token分配请求之外的任意请求。且该请求可以是由客户端向任意一个proxy节点发送的。该请求中携带有预先为用户分配的token,当然,该请求除了包括token之外,还可以包括有其他信息,例如,用户账号、角色等用户信息。
其中,系统内的请求可以分为用于请求分配token的token分配请求和非token分配请求。一般情况下,token分配请求携带有用户信息,而非token分配请求携带有token和URL地址,该地址上存储有相应的用户信息。
其中,token是proxy节点为用户预先分配的临时令牌,即,用户通过客户端向任意一个proxy节点发送token分配请求,该proxy节点将请求携带的用户信息与预先存储的相应用户信息进行比对,如果比对一致,则该用户为合法用户,反之,如果比对不一致,则该用户为非法用户。如果是,则对相应的认证信息进行加密得到该用户的token,并将该token返回给客户端。该认证信息是指用于认证的信息,其可以具体包括用户信息和令牌有效时间等信息。
需要说明的是,为用户分配token的proxy节点与携带token请求访问的proxy节点可以是同一节点,也可以不是同一节点,且这两个节点可以共用一个缓存服务,也可以各自对应一个独立的缓存服务。
步骤S202、将token与缓存系统中的预存储token进行一一比对,判断是否存在与token一致的目标预存储token。当存在目标预存储token时,进入步骤S203,反之,当不存在目标预存储token时,进入步骤S204。
需要说明,上述缓存系统一般为memcache系统,当然,也可以是其他类型的缓存系统,在此不作限定。
具体地,认证中间件在接收到客户端的请求之后,在自身对应的缓存系统中查找该请求携带的token,判断缓存系统中是否存在与该token一致的目标预存储token,如果有,则说明分配token的节点和请求访问的节点为同一节点,或者这两个节点共同使用同一个缓存服务,此时,需要进一步比对请求携带的存储路径信息对应的用户信息和预先存储的用户信息是否一致,以得到认证结果,该存储路径信息具体为URL信息,通过该URL信息可以获取存储在该地址上的用户信息。反之,如果没有,可能是token不合法,亦或者是缓存服务出现故障,也可能是分配token的节点与请求访问的节点不一致,且使用的不是同一个缓存服务,此时,可以进一步对token进行逆向解密,得到认证信息,并将该认证信息和预存储认证信息进行比对,根据比对结果得到认证结果。其中,预存储认证信息是指存储在内存中的用户信息,该用户信息是服务器通过将获取到的用户信息文件中用户信息进行存储得到的。
可以理解的是,在token分配过程中,proxy节点在分配完一个token之后,会将该token存储至缓存系统,并将该token与对应的用户信息进行关联,便于后续认证过程的token比对,且每个缓存系统中可能存储有多个token。
步骤S203、根据目标预存储token对应的第一用户信息和请求携带的存储路径信息对应的用户信息,得到认证结果。
需要说明的是,请求可以分为token分配请求和非token分配请求。非token分配请求携带有token和路径信息,该路径信息对应的存储路径上存储有对应的用户信息。Token分配请求携带有用户信息。
目标预存储token是指缓存系统中与请求携带的token一致的预存储token。上述存储路径信息是指请求所携带的URL(Uniform Resource Locator)信息,在该URL上,存储有相应的用户信息。其中,URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。通过该存储路径信息,可以获取到预先存储在此地址的用户信息。该存储路径信息对应的用户信息是指存储该路径上的信息,其可以包括但不限于用户名、账户以及角色等。而上述第一用户信息可以包括用户名、账户以及角色等。其中,第一用户信息是预先存储在节点内存中的信息,在分配token之后,proxy节点可以建立token与用户信息之间的映射关系,并将token和用户信息进行关联存储。该用户信息可以是指第一用户信息,也可以是指包括第一用户信息的用户信息,即该用户信息不仅仅可以包括第一用户信息,还可以包括密码等其他信息。也就是说,与token建立映射关系的用户信息可以是所有的用户信息,也可以是只用于认证比对的那一部分用户信息,只要保证可以通过token查找到用于认证的用户信息即可。例如,第一用户信息包括用户名、账户以及角色,而用户信息包括可以包括用户名、账户、角色以及密码。
具体地,根据预先建立的映射关系,通过目标预存储token查找到对应的第一用户信息,将该第一用户信息与请求中的URL上的用户信息进行比对,当比对一致时,认证成功,反之,当比对不一致时,认证失败。例如,当第一用户信息包括用户名、账户和角色时,认证中间件将查找到的账户和用户名分别与http请求中的url里的账户、用户名比对,并根据角色判断该用户是否有相应的操作权限,如果比对相同,且角色有对应的操作权限,则认证成功,反之,则认证失败。
步骤S204、对token进行逆向解密,得到认证信息。
具体地,通过相应的解密算法对token进行解密,得到认证信息,该认证信息可以例如包括账户、用户名、角色、密码以及token的有效时间。解密算法与加密算法相对应,而加密算法可以是任意的,例如,该算法可以为高级加密标准算法(Advanced EncryptionStandard,AES)。
在解密得到认证信息之后,则可以根据预存储认证信息和认证信息,进行认证操作,即进入步骤S205。
步骤S205、根据预存储认证信息和认证信息,得到认证结果。
需要说明的是,上述预存储认证信息是指预先存储在内存中,用于认证的信息,该预存储认证信息与认证信息相一致,可以例如包括账户、用户名、角色、密码以及token的有效时间。
在一些实施例中,上述认证信息包括第二用户信息和预设令牌有效时间,而第二用户信息包括账户、用户名、角色以及密码。其中,第一用户信息和第二用户信息可以等同,也可以不等同。一般情况下,第一用户信息和第二用户信息不等同。
此时,参加图3示出的认证过程的流程示意框图,上述根据预存储认证信息和认证信息,得到认证结果的具体过程可以包括:
步骤S301、分别将账户、用户名、角色、密码与对应的预存储账户、预存储用户名、预存储角色、预存储密码进行比对,判断各比对项是否均一致。
可以理解的是,上述账户、用户名、角色以及密码均是通过逆向解密token得到的,而预存储账户、预存储用户名、预存储角色以及预存储密码等均是存储在内存中的用户信息。也即,在缓存中找不到目标预存储token时,则可以通过逆向解密token,以得到相应的认证信息,再将解密得到的认证信息与内存中的用户信息进行比对,判断是否一致。
步骤S302、判断token是否超过预设令牌有效时间。
可以理解的是,该预设令牌有效时间是预先设定的,通过逆向解密token得到的。根据该预设令牌有效时间可以判断token是否已失效。例如,预设令牌有效时间为4小时,当前时间为13:00,则在17:00以后该token过期失效。
需要说明的是,步骤S301和步骤S302之间的执行顺序可以是任意的,其可以同时执行,也可以有先后顺序执行,在此不作限定。
步骤S303、当各比对项均一致时,且token未超过预设令牌有效时间时,则认证成功。
步骤S304、当token超过预设令牌有效时间和/或至少一项比对项不一致时,则认证失败。
由上可见,本实施例通过预先对认证信息进行加密得到token,并在查找不到token时,逆向解密该token以得到认证信息,根据认证信息进行认证。这样,即使Swift集群中的缓存服务出现故障,也能通过逆向解密token进行认证,降低了认证服务对缓存服务的依赖性,提高了集群的高可用性。
实施例二
在用户使用token访问集群中的任意节点之前,系统需要根据用户的token分配请求,验证用户身份信息,验证通过之后,为该用户分配相应的token。本实施例将token分配过程进行介绍说明。
参加图4示出的token分配过程的流程示意框图,基于上述实施例一,在上述获取携带token的请求之前,上述方法还可以包括以下步骤:
步骤S401、获取用户的token分配请求。
具体地,用户可以通过客户端向集群中的任意proxy节点发起token分配请求。该token分配请求携带有用于验证用户身份的信息,例如,用户账号、密码、角色等等。
步骤S402、判断缓存系统中是否存在用户对应的token。当存在用户对应的token,进入步骤S403,反之,当不存在用户对应的token,进入步骤S404。
具体地,认证中间件根据请求携带的用户验证信息,从缓存中查找是否有与该用户对应的token,如果有,则直接将该token返回给客户端,用户即可根据该token进行数据访问等操作。如果没有,则需要重新生成一个新的token,分配给用户使用。
步骤S403、将用户对应的token返回给用户。
可以理解的是,在将对应的token返回给用户之后,token分配过程结束。而针对缓存系统中不存在对应的token时,则需要形成新的token分配给请求的用户,则进入步骤S404~S406,以根据第二用户信息生成新的token,并将该token返回给用户。
步骤S404、获取用户的第二用户信息。
步骤S405、将第二用户信息和预设令牌有效时间拼接成字符串。
步骤S406、利用预设加密算法对字符串进行加密,得到加密后字符串。
可以理解的是,当缓存系统中存在对应的token时,执行完步骤S403后,token分配过程结束,不需要执行后续的步骤S404~S406。而当缓存系统中不存在对应的token时,在执行完步骤S402之后,需要执行步骤S404~S406,执行完步骤S406之后,对应的token分配过程结束。
可以理解的是,上述第二用户信息可以例如包括账户、用户名、角色以及密码等。将账户、用户名、角色、密码和预设令牌有效时间拼接成一串字符串,并对该字符串进行加密,将加密后的字符串作为token。其中,预设加密算法可以是任意的,例如,可以为AES算法。拼接过程中,账户、用户名、角色、密码以及预设令牌有效时间的拼接顺序、所处位置等均可以是任意的。
步骤S407、将加密后字符串作为token返回给用户。
可以看出,在token分配过程中,将用户名、账户、角色、密码等用户信息和令牌有效时间拼接成字符串,将加密后字符串作为token,便于后续认证过程中通过解密该字符串进行认证。
实施例三
在一些实施例中,认证系统可以包括用于对用户信息进行管理的管理节点。本实施例将对客户端、proxy节点以及管理节点之间的交互过程进行介绍说明。
请参加图5,为本申请实施例提供的认证交互过程的示意图,该过程可以包括以下步骤:
步骤S501、认证中间件获取管理节点发送的预先加密的用户信息文件。
需要说明的是,上述预先加密的用户信息文件是指存储有用户信息的文件,该文件是由管理节点通过对用户信息文件进行加密得到的。管理节点上运行有用户信息管理程序,其可以监控用户信息变化,并相应地增加、删减、修改用户信息,将用户信息存储在用户信息文件中,加密后周期或实时发送至proxy节点。
其中,现有Swift集群的tempauth认证中间件中,其将用户信息明文保存在proxyserver的配置信息中,安全性极低。而在本实施例中,通过加密用户信息,可以进一步提高认证过程的安全性。
可以理解的是,随着时间的推移,用户信息可能会有所改变,例如,增加了某个用户,或减少了某个用户。为了使得服务器上的用户信息与实际用户信息一致,管理节点可以周期性地或实时地将更新后的加密用户信息文件发送至proxy节点,以使得节点解密该用户信息文件,更新内存中的用户信息。
步骤S502、认证中间件通过解密用户信息文件,得到用户信息。
其中,解密过程与加密过程相对应,且所使用的算法可以是任意的。
步骤S503、认证中间件将用户信息与预存储用户信息进行比对,确定用户信息已改变的目标用户。
具体地,在得到用户信息之后,可以将当次获得的用户信息与预先存储在内存中的用户信息进行比对,确定哪些用户的用户信息发生了改变,并从缓存中查找目标用户对应的token,将查找到的token移除。这样,可以保证用户在修改密码等用户信息之后,不仅无法使用旧的密码进行认证,也无法通过使用旧的密码获取到的token来操作集群,进一步提高了认证过程的安全性。
步骤S504、认证中间件将目标用户对应的token从缓存系统中移除。
步骤S505、认证中间件获取客户端发送的携带token的请求。
可以理解的是,上述携带token的请求是在为用户分配相应的token之后,用户通过客户端发起的。至于token分配的具体过程请参加上文相应内容,在此不再赘述。
步骤S506、认证中间件将token与缓存系统中的预存储token进行一一比对,判断是否存在与token一致的目标预存储token。当存在目标预存储token时,进入步骤S507,反之,当不存在目标预存储token时,进入步骤S508。
步骤S507、认证中间件根据目标预存储token对应的第一用户信息和请求携带的存储路径信息对应的用户信息,得到认证结果。
步骤S508、认证中间件对token进行逆向解密,得到认证信息。
步骤S509、认证中间件根据预存储认证信息和认证信息,得到认证结果。
需要说明的是,步骤S505~S509与上述实施例一的相应过程相同,相关介绍请参加上文相应内容,在此不再赘述。
步骤S510、在认证成功之后,认证中间件将token和对应的账户、角色关联存储至缓存系统中。
具体地,当缓存系统中查找不到一致的token时,根据逆向解密token得到的认证信息进行认证,认证成功之后,可以将该token和对应的账户、角色关联存储在缓存系统中,而关联存储的方式可以是任意的,例如,token与账户、角色以key:value的方式写入memcache中。这样,可以使得后续通过相同token访问该节点时,该节点可以直接通过该token进行认证,不用再解密该token,缩短了认证耗时,进一步提高了认证效率。
在一些情况下,用户信息改变了之后,proxy需要重新获取到用户信息,以保证认证服务的准确性。现有阶段,用户改变密码等信息之后,必须重启proxy服务才能使得新密码生效,十分繁琐。为了让proxy服务在不影响已有业务的情况下,实现密码等信息的修改,以提高便利性,可以通过管理节点向proxy服务器发送控制命令,以控制节点重载用户信息。
可选地,上述方法还可以包括:
步骤S511、认证中间件获取管理节点发送的用户信息重载命令。
步骤S512、认证中间件根据用户信息重加载命令,从管理节点重新获取用户信息。
具体应用中,上述用户信息重载命令可以具体为http命令,即管理节点通过http的restful接口,可以直接控制proxy重新读取用户信息文件,获取用户名、密码等信息。这样不会中断当前正在执行的请求,即使在用户上传、下载文件时也能修改密码,便于管理。
需要说明的是,步骤S511~S512的执行顺序可以是任意的,在此不作限定。此外,本实施例与上述各个实施例之间的相同或相关介绍,请参加上文相应内容,在此不再赘述。
可以看出,本实施例可以在保证一定认证效率的同时,还提升了Swift集群认证服务的高可用性。此外,还通过加密用户信息文件提高了认证安全性,通过节点用户信息重载功能提高管理的便捷性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例四
本实施例将对本申请实施例提供的认证装置进行介绍说明。此处介绍的认证装置与上述各个实施例的认证方法一一对应。
请参加图6,为本申请实施例提高的一种基于Openstack Swift的认证装置的结构示意框图,该装置可以包括:
请求获取模块61,用于获取携带token的请求,token为预先对认证信息进行加密得到的临时令牌;
判断模块62,用于将token与缓存系统中的预存储token进行一一比对,判断是否存在与token一致的目标预存储token;
第一认证模块63,用于当存在目标预存储token时,根据目标预存储token对应的第一用户信息和请求携带的存储路径信息对应的用户信息,得到认证结果;
解密模块64,用于当不存在目标预存储token时,对token进行逆向解密,得到认证信息;
第二认证模块65,用于根据预存储认证信息和认证信息,得到认证结果。
在一些实施例中,上述装置还可以包括:
分配请求获取模块,用于获取用户的token分配请求;
Token判断模块,用于判断缓存系统中是否存在用户对应的token;
第一返回模块,用于当存在用户对应的token,将用户对应的token返回给用户;
第二用户信息获取模块,用于当不存在用户对应的token,获取用户的第二用户信息;
拼接模块,用于将第二用户信息和预设令牌有效时间拼接成字符串;
加密模块,用于利用预设加密算法对字符串进行加密,得到加密后字符串;
第二返回模块,用于将加密后字符串作为token返回给用户。
在一些实施例中,上述装置还可以包括:
文件获取模块,用于获取预先加密的用户信息文件;
文件解密模块,用于通过解密用户信息文件,得到用户信息。
在一些实施例中,上述装置还可以包括:
比的模块,用于将用户信息与预存储用户信息进行比对,确定用户信息已改变的目标用户;
移除模块,用于将目标用户对应的token从缓存系统中移除。
在一些实施例中,上述装置还可以包括:
命令获取模块,用于获取用户信息重载命令;
信息重载模块,用于根据用户信息重加载命令,重新获取用户信息。
在一些实施例中,认证信息包括第二用户信息和预设令牌有效时间,第二用户信息包括账户、用户名、角色以及密码;
上述第二认证模块可以包括:
第一判断单元,用于分别将账户、用户名、角色、密码与对应的预存储账户、预存储用户名、预存储角色、预存储密码、预存储密码进行比对,判断各比对项是否均一致;
第二判断单元,用于判断token是否超过预设令牌有效时间;
第一确定单元,用于当各比对项均一致时,且token未超过预设令牌有效时间时,则认证成功;
第二确定单元,用于当token超过预设令牌有效时间和/或至少一项比对项不一致时,则认证失败。
在一些实施例中,上述装置还可以包括:
关联存储模块,用于将token和对应的账户、角色关联存储至缓存系统中。
需要说明的是,本实施例与上述各个实施例之间的相同或相关之处,可以参加上述各个实施例的相应内容,在此不再赘述。
本实施例通过在获取到携带token的请求时,先在缓存中查找该token,如果能查找到一致的token,则根据该token对应的用户信息进行认证,而如果没有查找到一致的token,则逆向解密该token以得到认证信息,根据认证信息进行认证。这样,即使Swift集群中的缓存服务出现故障,也能通过逆向解密token进行认证,降低了认证服务与缓存服务的依赖性,提高了集群的高可用性。
实施例五
图7是本申请一实施例提供的服务器的示意图。如图7所示,该实施例的服务器7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个认证方法实施例中的步骤,例如图2所示的步骤S201至S205。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块或单元的功能,例如图6所示模块61至65的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块或单元,所述一个或者多个模块或单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块或单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述服务器7中的执行过程。例如,所述计算机程序72可以被分割成请求获取模块、判断模块、第一认证模块、解密模块以及第二认证模块,各模块具体功能如下:
请求获取模块,用于获取携带token的请求,token为预先对认证信息进行加密得到的临时令牌;判断模块,用于将token与缓存系统中的预存储token进行一一比对,判断是否存在与token一致的目标预存储token;第一认证模块,用于当存在目标预存储token时,根据目标预存储token对应的第一用户信息和请求携带的存储路径信息对应的用户信息,得到认证结果;解密模块,用于当不存在目标预存储token时,对token进行逆向解密,得到认证信息;第二认证模块,用于根据预存储认证信息和认证信息,得到认证结果。
所述服务器具体为proxy服务器节点,可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是服务器7的示例,并不构成对服务器7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述服务器7的内部存储单元,例如服务器7的硬盘或内存。所述存储器71也可以是所述服务器7的外部存储设备,例如所述服务器7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述服务器7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置、服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置、服务器实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块或单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于Openstack Swift的认证方法,其特征在于,包括:
获取携带token的请求,所述token为预先对认证信息进行加密得到的临时令牌;
将所述token与缓存系统中的预存储token进行一一比对,判断是否存在与所述token一致的目标预存储token;
当存在所述目标预存储token时,根据所述目标预存储token对应的第一用户信息和所述请求携带的存储路径信息对应的用户信息,得到认证结果;
当不存在所述目标预存储token或缓存系统故障时,对所述token进行逆向解密,得到所述认证信息;
根据预存储认证信息和所述认证信息,得到认证结果;
所述方法还包括:
获取管理节点发送的用户信息重载命令;
根据所述用户信息重载命令,从所述管理节点重新获取用户信息。
2.如权利要求1所述的方法,其特征在于,在所述获取携带token的请求之前,进行token的分配,所述token的分配包括如下步骤:
获取用户的token分配请求;
判断所述缓存系统中是否存在所述用户对应的token;
当存在所述用户对应的token,将所述用户对应的token返回给所述用户;
当不存在所述用户对应的token,获取所述用户的第二用户信息,
将所述第二用户信息和预设令牌有效时间拼接成字符串,
利用预设加密算法对所述字符串进行加密,得到加密后字符串,
将所述加密后字符串作为token返回给所述用户。
3.如权利要求1所述的方法,其特征在于,在所述获取携带token的请求之前,还包括:
获取预先加密的用户信息文件;
通过解密所述用户信息文件,得到用户信息。
4.如权利要求3所述的方法,其特征在于,在所述通过解密所述用户信息文件,得到用户信息之后,还包括:
将所述用户信息与预存储用户信息进行比对,确定用户信息已改变的目标用户;
将所述目标用户对应的token从所述缓存系统中移除。
5.如权利要求4所述的方法,其特征在于,所述认证信息包括第二用户信息和预设令牌有效时间,所述第二用户信息包括账户、用户名、角色以及密码;
所述根据预存储认证信息和所述认证信息,得到认证结果,包括:
分别将所述账户、所述用户名、所述角色、所述密码与对应的预存储账户、预存储用户名、预存储角色、预存储密码进行比对,判断各比对项是否均一致;
判断所述token是否超过所述预设令牌有效时间;
当各所述比对项均一致时,且所述token未超过所述预设令牌有效时间时,则认证成功;
当所述token超过所述预设令牌有效时间和/或至少一项所述比对项不一致时,则认证失败。
6.如权利要求5所述的方法,其特征在于,在所述认证成功之后,还包括:
将所述token和对应的账户、角色关联存储至所述缓存系统中。
7.一种基于Openstack Swift的认证装置,其特征在于,包括:
请求获取模块,用于获取携带token的请求,所述token为预先对认证信息进行加密得到的临时令牌;
判断模块,用于将所述token与缓存系统中的预存储token进行一一比对,判断是否存在与所述token一致的目标预存储token;
第一认证模块,用于当存在所述目标预存储token时,根据所述目标预存储token对应的第一用户信息和所述请求携带的存储路径信息对应的用户信息,得到认证结果;
解密模块,用于当不存在所述目标预存储token或缓存系统故障时,对所述token进行逆向解密,得到认证信息;
第二认证模块,用于根据预存储认证信息和所述认证信息,得到认证结果;
所述装置还包括:
命令获取模块,用于获取管理节点发送的用户信息重载命令;
信息重载模块,用于根据所述用户信息重载命令,从所述管理节点重新获取用户信息。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
分配请求获取模块,用于获取用户的token分配请求;
Token判断模块,用于判断所述缓存系统中是否存在所述用户对应的token;
第一返回模块,用于当存在所述用户对应的token,将所述用户对应的token返回给所述用户;
第二用户信息获取模块,用于当不存在所述用户对应的token,获取所述用户的第二用户信息,
拼接模块,用于将所述第二用户信息和预设令牌有效时间拼接成字符串,
加密模块,用于利用预设加密算法对所述字符串进行加密,得到加密后字符串,
第二返回模块,用于将所述加密后字符串作为token返回给所述用户。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910425528.6A CN111988262B (zh) | 2019-05-21 | 2019-05-21 | 认证方法、装置及服务器、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910425528.6A CN111988262B (zh) | 2019-05-21 | 2019-05-21 | 认证方法、装置及服务器、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988262A CN111988262A (zh) | 2020-11-24 |
CN111988262B true CN111988262B (zh) | 2023-04-28 |
Family
ID=73436992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910425528.6A Active CN111988262B (zh) | 2019-05-21 | 2019-05-21 | 认证方法、装置及服务器、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988262B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632022B (zh) * | 2020-12-29 | 2023-11-24 | 医渡云(北京)技术有限公司 | 对象存储方法及装置、计算机可读存储介质以及电子设备 |
CN114793165A (zh) * | 2022-03-03 | 2022-07-26 | 深圳壹账通智能科技有限公司 | 一种登录系统控制方法、系统、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924149A (zh) * | 2018-07-19 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种基于Tocken令牌的身份合法性验证方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245501B (zh) * | 2015-09-01 | 2020-09-22 | Tcl科技集团股份有限公司 | 一种集中权限数据的分布式权限验证方法及系统 |
CN105337990B (zh) * | 2015-11-20 | 2019-06-21 | 北京奇虎科技有限公司 | 用户身份的校验方法及装置 |
US11544356B2 (en) * | 2017-06-19 | 2023-01-03 | Citrix Systems, Inc. | Systems and methods for dynamic flexible authentication in a cloud service |
CN109495426B (zh) * | 2017-09-12 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 一种数据访问方法、装置及电子设备 |
CN107749855A (zh) * | 2017-10-30 | 2018-03-02 | 武汉烽火信息集成技术有限公司 | 基于客户端的单点登录身份认证方法及系统 |
CN109660343B (zh) * | 2019-01-17 | 2023-06-20 | 平安科技(深圳)有限公司 | 令牌更新方法、装置、计算机设备及存储介质 |
-
2019
- 2019-05-21 CN CN201910425528.6A patent/CN111988262B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924149A (zh) * | 2018-07-19 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种基于Tocken令牌的身份合法性验证方法及系统 |
Non-Patent Citations (2)
Title |
---|
keystone认证深度研究分析;Miss_yang_Cloud;《CSDN》;20170607;正文第1-2节 * |
Miss_yang_Cloud.keystone认证深度研究分析.《CSDN》.2017, * |
Also Published As
Publication number | Publication date |
---|---|
CN111988262A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475137B2 (en) | Distributed data storage by means of authorisation token | |
CN106209749B (zh) | 单点登录方法及装置、相关设备和应用的处理方法及装置 | |
JP6856626B2 (ja) | マルチユーザクラスタアイデンティティ認証のための方法および装置 | |
US8838961B2 (en) | Security credential deployment in cloud environment | |
US20190312877A1 (en) | Block chain mining method, device, and node apparatus | |
US9294468B1 (en) | Application-level certificates for identity and authorization | |
US8863255B2 (en) | Security credential deployment in cloud environment | |
JP7421771B2 (ja) | Iotサービスを実施するための方法、アプリケーションサーバ、iot装置および媒体 | |
US20190306148A1 (en) | Method for oauth service through blockchain network, and terminal and server using the same | |
CN110213276B (zh) | 一种微服务架构下的授权验证方法、服务器、终端及介质 | |
CN108880821B (zh) | 一种数字证书的认证方法及设备 | |
US8977857B1 (en) | System and method for granting access to protected information on a remote server | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
CN109190341B (zh) | 一种登录管理系统和方法 | |
US8898318B2 (en) | Distributed services authorization management | |
EP3860036A1 (en) | Key management method, security chip, service server and information system | |
US20180295115A1 (en) | Management of and persistent storage for nodes in a secure cluster | |
US9942050B2 (en) | Method and apparatus for bulk authentication and load balancing of networked devices | |
CN112632521B (zh) | 一种请求响应方法、装置、电子设备和存储介质 | |
CN110611657A (zh) | 一种基于区块链的文件流处理的方法、装置及系统 | |
CN110771124B (zh) | 对本地网络上的数据存储系统的访问的基于云的管理 | |
CN109286620B (zh) | 用户权限管理方法、系统、设备和计算机可读存储介质 | |
CN113271296A (zh) | 一种登录权限管理的方法和装置 | |
CN111988262B (zh) | 认证方法、装置及服务器、存储介质 | |
US11050560B2 (en) | Secure reusable access tokens |
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 |