一种登录认证方法及系统与流程

文档序号:12493766阅读:210来源:国知局
一种登录认证方法及系统与流程

本发明涉及网络通信技术领域,尤其是一种登录认证方法及系统。



背景技术:

目前,用户在登录应用服务器时,需要输入用户在该应用服务器上注册的账户信息,如果用户要登录不同的应用服务器,就需要用户在不同的应用服务器上均注册有账户信息,且每登录一个应用服务器都需要输入一次账户信息,这使得用户在使用服务时非常不方便,且用户需要记住很多账户信息也容易造成使用时出错。因此,需要一种开放、便捷的登录认证方式来解决上述问题。

目前已有的一种解决方案是使用oAuth(Open Authorization)协议,第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权。但缺点在于兼容性和开发新接口的代价高,例如,公有云资源一般需要支持两套认证才行;并且,oAuth的签名很复杂;用户可能需要输入两次密码,否则不能在第三方服务器关掉的情况下正常访问其资源。

因此,需要一种方便、安全性高的登录认证方案。



技术实现要素:

为此,本发明提供了一种登录认证方法及系统,以力图解决或者至少缓解上面存在的至少一个问题。

根据本发明的一个方面,提供了一种登录认证方法,方法在第一认证服务器中执行,该第一认证服务器分别与客户端和第二认证服务器相连接,且第一认证服务器和第二认证服务器分别对应不同的资源,该方法包括步骤:接收由客户端发送的第一登录请求,其中第一登录请求中包含请求登录的用户账户信息和该客户端标识;根据用户账户信息生成用户标识;发送用户标识和该第一认证服务器所在集群的集群标识给第二认证服务器,由第二认证服务器判断是否存在所述用户标识和集群标识的关联关系;接收由第二认证服务器在判断存在关联关系后返回的用户标识、集群标识和安全标识符,其中安全标识符是第二访问令牌的索引信息,用以获取访问第二认证服务器对应资源的权限;发送安全标识符给客户端,以便客户端发送第二登录请求给第二认证服务器,该第二登录请求中包含该安全标识符和客户端标识,由第二认证服务器判断该安全标识符是否正确;接收由第二认证服务器在判断该安全标识符正确后返回的客户端标识;判断该客户端标识与第一登录请求中的客户端标识是否一致;以及若一致则返回确认消息给第二认证服务器,以便第二认证服务器根据该安全标识符发送第二访问令牌给客户端,由客户端根据该第二访问令牌访问第二认证服务器对应的资源。

可选地,在根据本发明的登录认证方法中,用户标识包括在第一认证服务器登录的第一用户标识和在第二认证服务器登录的第二用户标识,其中,根据用户账户信息生成用户标识的步骤包括:根据用户账户信息查找与之关联的第一用户标识;根据第一用户标识查找与之关联的第二用户标识;以及结合第一用户标识和第二用户标识生成用户标识。

可选地,在根据本发明的登录认证方法中,还包括步骤:预先存储用户账户信息与第一用户标识、第一用户标识与第二用户标识的关联关系。

可选地,在根据本发明的登录认证方法中,发送安全标识符给客户端的步骤之前,还包括步骤:判断所接收到的用户标识和集群标识是否与之前发送给第二认证服务器的一致;以及若一致则发送确认消息给第二认证服务器,并接收第二认证服务器返回的请求成功消息。

可选地,在根据本发明的登录认证方法中,判断所接收到的用户标识和集群标识是否与之前发送给第二认证服务器的一致的步骤还包括:若一致则关联存储安全标识符和客户端标识。

可选地,在根据本发明的登录认证方法中,发送安全标识符给客户端的步骤还包括:发送第一访问令牌给所述客户端,以便客户端根据第一访问令牌访问第一认证服务器对应的资源。

根据本发明的另一方面,提供了一种登录认证方法,方法在第二认证服务器中执行,该第二认证服务器分别与客户端和第一认证服务器相连接,且第一认证服务器和第二认证服务器分别对应不同的资源,该方法包括步骤:接收由第一认证服务器发送的用户标识和第一认证服务器所在集群的集群标识;判断是否存在用户标识与集群标识的关联关系;若存在该关联关系,则将安全标识符和用户标识、集群标识一并返回给第一认证服务器,其中安全标识符是第二访问令牌的索引信息,用以获取访问第二认证服务器对应资源的权限;接收由客户端发送的第二登录请求,其中,该第二登录请求中包含安全标识符和客户端标识;判断安全标识符是否正确;若该安全标识符正确,则返回客户端标识给第一认证服务器;接收由第一认证服务器返回的确认消息;根据该安全标识符发送第二访问令牌给客户端,以便客户端根据第二访问令牌访问第二认证服务器对应的资源。

可选地,在根据本发明的登录认证方法中,用户标识包括在第一认证服务器登录的第一用户标识和在第二认证服务器登录的第二用户标识。

可选地,在根据本发明的登录认证方法中,还包括步骤:预先存储第二用户标识与第一用户标识、第一用户标识与集群标识的关联关系。

可选地,在根据本发明的登录认证方法中,将安全标识符和用户标识、集群标识一并返回给第一认证服务器的步骤之后,还包括步骤:接收由第一认证服务器在确认用户标识和集群标识后发送的确认消息,并返回请求成功消息给第一认证服务器。

根据本发明的另一方面,提供了一种登录认证系统,该系统包括客户端、第一认证服务器、第二认证服务器,且第一认证服务器和第二认证服务器分别对应不同的资源,该系统包括:客户端,适于发送第一登录请求给第一认证服务器、发送第二登录请求给第二认证服务器,还适于接收第二认证服务器发送的第二访问令牌、并根据第二访问令牌访问第二认证服务器对应的资源,其中,第一登录请求中包含请求登录的用户账户信息和该客户端标识,第二登录请求中包含该安全标志符和客户端标识;第一认证服务器,包括:连接管理单元,适于接收第一登录请求,还适于发送用户标识和该第一认证服务器所在集群的集群标识给第二认证服务器、并接收由第二认证服务器在判断存在该用户标识和集群标识的关联关系后返回的用户标识、集群标识和安全标识符;生成单元,适于根据用户账户信息生成用户标识;判断单元,适于判断所接收到的用户标识和集群标识是否与发送给第二认证服务器的一致;连接管理单元还适于发送确认消息给第二认证服务器、并接收第二认证服务器返回的请求成功消息、以及发送安全标识符给所述客户端、接收由第二认证服务器在判断该安全标识符正确后发送客户端标识;判断单元还适于判断该客户端标识和第一登录请求中的客户端标识是否一致;连接管理单元还适于在判断客户端标识一致时返回确认消息给第二认证服务器;以及第二认证服务器,包括:连接管理单元,适于接收由第一认证服务器发送的用户标识和第一认证服务器所在集群的集群标识;判断单元,适于判断是否存在用户标识与集群标识的关联关系;连接管理单元还适于在判断存在关联关系时将安全标识符和用户标识、集群标识一并返回给第一认证服务器、接收由客户端发送的第二登录请求;判断单元还适于判断安全标识符是否正确;连接管理单元还适于在判断该安全标识符正确时发送客户端标识给第一认证服务器以便第一认证服务器确认该客户端标识是否正确、接收由第一认证服务器返回的确认消息、并根据该安全标识符发送第二访问令牌给客户端。

可选地,在根据本发明的登录认证系统中,用户标识包括在第一认证服务器登录的第一用户标识和在第二认证服务器登录的第二用户标识。

可选地,在根据本发明的登录认证系统中,在第一认证服务器中,生成单元适于根据用户账户信息查找与之关联的第一用户标识、根据第一用户标识查找与之关联的第二用户标识、并结合第一用户标识和第二用户标识生成用户标识。

可选地,在根据本发明的登录认证系统中,第一认证服务器还包括:存储单元,适于预先存储用户账户信息与第一用户标识、第一用户标识与第二用户标识的关联关系;存储单元还适于在判断单元判断所接收到的用户标识和集群标识与之前发送给第二认证服务器的一致时,关联存储安全标识符和客户端标识。

可选地,在根据本发明的登录认证系统中,第二认证服务器还包括:存储单元,适于存储第二用户标识与第一用户标识、第一用户标识与集群标识的关联关系。

可选地,在根据本发明的登录认证系统中,在第一认证服务器中,连接管理单元还适于在发送安全标识符的时一并发送第一访问令牌给所述客户端。

可选地,在根据本发明的登录认证系统中,客户端还适于根据第一访问令牌访问第一认证服务器对应的资源。

根据本发明的登录认证方案,不仅可以实现一次登录即可同时访问第一认证服务器和第二认证服务器对应的资源;还确保整个交互通道的安全性,防止用户标识等信息泄露对会话的影响。同时,第一认证服务器和第二认证服务器的Token分离、互不影响,即使盗用了第一访问令牌也不能使用第二认证服务器的资源,反之亦然。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一个实施例的登录认证系统100的示意图;

图2示出了根据本发明一个实施例的系统100执行登录认证方法200的交互图;

图3示出了根据本发明一个实施例的第一认证服务器120的结构示意图;以及

图4示出了根据本发明一个实施例的第二认证服务器130的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的登录认证系统100的示意图。

如图1所示,该系统100包括:客户端110、第一认证服务器120和第二认证服务器130,且第一认证服务器120和第二认证服务器130分别对应不同的资源。客户端110可以是PC端、Web端、移动设备等,其通过第一认证服务器120或第二认证服务器130访问相应资源。应当注意的是,图1中对客户端100、第一认证服务器120和第二认证服务器130的数目仅是示意性的,本发明对系统100内各部件的数量不作限制。

根据一种实现方式,系统100布置为混合云登录认证系统,其中,第一认证服务器120为私有云服务器,连接私有云资源;第二认证服务器130为公有云服务器,连接公有云资源。

一般地,客户端110是私有云客户端,当客户端110要访问私有云资源时,可以直接登录第一认证服务器120,经用户账户认证正确后,即可访问私有云资源。但是,当客户端110要访问公有云资源时,其无法直接通过私有云客户端的用户账户登录第二认证服务器。本系统提供了一种单点登录认证的方法,使得客户端110登录一次即可访问系统内的私有云资源、公有云资源。

下面将详细介绍本系统100进行登录认证的过程。如图2,示出了根据本发明一个实施例的系统100执行登录认证方法200的交互图。

首先在步骤S201中,客户端110发送第一登录请求给第一认证服务器120,该第一登录请求中包含请求登录的用户账户信息和该客户端110的标识,如用户账户信息可以是用户的账户名user、账户密码pwd,客户端标识记为clientID。

随后在步骤S202中,第一认证服务器120根据第一登录请求中的用户账户信息生成用户标识。

根据本发明的一个实施例,第一认证服务器120中预存有用户账户信息与第一用户标识、第一用户标识与第二用户标识的关联关系。第一认证服务器120根据用户账户信息(user+pwd)查找与之关联的第一用户标识,记作pri_userID;再根据第一用户标识(pri_userID)查找与之关联的第二用户标识,记作pub_userID;最后,结合第一用户标识(pri_userID)和第二用户标识(pub_userID)生成用户标识,记作pri_userID+pub_userID。

随后在步骤S203中,第一认证服务器120发送该用户标识和第一认证服务器120所在集群的集群标识(clusterID)给第二认证服务器130。可选地,第一认证服务器120可以直接以“pub_userID:pri_userID:clusterID”的形式发送消息给第二认证服务器130,也可以对上述内容进行加密后再发送给第二认证服务器130,本发明对此不作限制。

随后在步骤S204中,第二认证服务器130判断是否存在该用户标识和集群标识的关联关系。

根据本发明的实施例,第一用户标识pri_userID和第二用户标识pub_userID可以不是一对一的关系,以第一用户标识+此时第一认证服务器120所在集群的集群标识,即,pri_userID+clusterID,来唯一地标识该用户。

故,用户使用公有云账号(即,pub_userID对应账号)登陆第二认证服务器130时,预先设置和私有云用户(即,pri_userID)的关联关系。这样,第二认证服务器130上会存储有第二用户标识(pub_userID)与第一用户标识(pri_userID)、第一用户标识(pri_userID)与集群标识(clusterID)的关联关系。第二认证服务器130在接收到第一认证服务器120发送的用户标识和集群标识后,根据预存的关联关系判断是否存在上述关系。

随后在步骤S205中,若第二认证服务器130判断存在这样的关联关系,即,在该集群上有该用户标识,则第二认证服务器130将安全标识符和用户标识、集群标识一并返回给第一认证服务器120。其中,安全标识符SID是第二访问令牌(即,公有云Token)的索引信息,用以获取访问第二认证服务器130对应资源的权限。

这里,仅是将安全标识符发送给第一认证服务器120,而不是将第二访问令牌直接发送给第一认证服务器,可以避免当第一认证服务器120和第二认证服务器130的交互信息泄漏时(例如,被非法用户监听该通路),非法用户就会利用第二访问令牌通过第二认证服务器130访问对应资源。

随后在步骤S206中,第一认证服务器120判断所接收到的用户标识和集群标识是否与之前发送给第二认证服务器的一致,即,与步骤S203中的用户标识和集群标识是否一致,若一致则第一认证服务器120发送确认消息给第二认证服务器130。

根据本发明的实施例,第一认证服务器120还会对应存储该安全标识符SID和步骤S201中的客户端标识clientID。

随后在步骤S207中,第二认证服务器130返回请求成功消息给第一认证服务器120。

至此,第一认证服务器120与第二认证服务器130就完成了相互认证的过程。应当注意的是,在第一认证服务器120与第二认证服务器130的交互过程中,第一认证服务器并未发送客户端标识clientID给第二认证服务器130,这一点很重要,在后续中会有相关说明。

随后在步骤S208中,第一认证服务器120发送安全标识符SID给该客户端110,即clientID对应的客户端。

根据本发明的一个实施例,第一认证服务器120还会一并发送第一访问令牌(即,私有云Token)给该客户端110。

随后在步骤S209中,客户端110根据收到的第一访问令牌(即,私有云Token)访问第一认证服务器120对应的私有云资源。

在步骤S210中,客户端110根据收到的安全标识符SID发送第二登录请求给第二认证服务器130,其中,第二登录请求中包含该安全标识符SID和客户端标识clientID。

应当注意的是,第二认证服务器130上预先并没有存储客户端标识信息,客户端标识还是由第一认证服务器120去认证,这是为了防止当第一认证服务器120和第二认证服务器130的通路被监听时,非法用户就截获到SID+clientID信息并发送给第二认证服务器。

随后在步骤S211中,第二认证服务器130判断该安全标识符是否正确,若该安全标识符正确,则返回客户端标识给第一认证服务器120,由其判断客户端标识是否正确。根据本发明的实施例,第二认证服务器130一并将安全标识符也返回给第一认证服务器120。

例如,第二认证服务器130接收到安全标识符SID=1,若第二认证服务器130判断该SID无误,则返回clientID+SID给第一认证服务器120。

随后在步骤S212中,第一认证服务器120接收客户端标识和安全标识符后,判断该客户端标识与第一登录请求中的客户端标识是否一致。

根据本发明的实施例,在步骤S206中,第一认证服务器120关联存储了安全标识符SID和客户端标识clientID,故在本步骤中,第一认证服务器120需查找该安全标识符SID对应的clientID是否与接收到的clientID一致。

随后在步骤S213中,若判断一致则第一认证服务器120返回确认消息给第二认证服务器130,如,{"success”:true}。

随后在步骤S214中,第二认证服务器130就可以确定该客户端110是安全的,即可发送第二访问令牌给客户端110,该第二访问令牌根据安全标识符得到。例如,安全标识符SID=1,第二认证服务器130即返回Token=2给客户端110。但是,若已知第二访问令牌,是无法换取到对应安全标识符的。

随后在步骤S215中,客户端110根据该第二访问令牌(即,公有云Token)访问第二认证服务器130对应的公有云资源。

至此,根据本发明的系统100执行登录认证方法200的交互过程就介绍完毕。根据上文描述可知,该登录认证方法不仅可以实现一次登录即可同时访问私有云资源、公有云资源;还保证了整个交互通道的安全性,防止用户标识等信息泄露对会话的影响。

同时,私有云的认证和公有云的认证Token分离、互不影响,即使盗用了私有云Token也不能使用公有云的资源,反之亦然;假设公有云服务因某些原因关闭,并不会影响对私有云资源的访问,同样,如果私有云服务因某些原因关闭,也不影响后续继续使用公有云资源。

对应于图2的交互过程,图3和图4分别示出了第一认证服务器120和第二认证服务器130的结构示意图。

如图3所示,第一认证服务器120包括:连接管理单元122、生成单元124、判断单元126和存储单元128。

其中,连接管理单元122接收第一登录请求,第一登录请求中包含请求登录的用户账户信息和该客户端标识。

存储单元128预先存储用户账户信息与第一用户标识、第一用户标识与第二用户标识的关联关系。

生成单元124根据用户账户信息生成用户标识,用户标识包括在第一认证服务器120上登录的第一用户标识和在第二认证服务器130上登录的第二用户标识。根据本发明的实施例,生成单元124根据用户账户信息查找与之关联的第一用户标识、根据第一用户标识查找与之关联的第二用户标识、并结合第一用户标识和第二用户标识生成用户标识。

连接管理单元122发送用户标识和该第一认证服务器120所在集群的集群标识给第二认证服务器130、并接收由第二认证服务器130在判断存在该用户标识和集群标识的关联关系后返回的用户标识、集群标识和安全标识符。

判断单元126判断所接收到的用户标识和集群标识是否与发送给第二认证服务器130的相一致。

若判断单元126判断一致,则存储单元128关联存储该安全标识符和客户端标识。

同时,连接管理单元122发送确认消息给第二认证服务器130、并接收第二认证服务器130返回的请求成功消息。

同时,连接管理单元122发送第一访问令牌和安全标识符给客户端110、并接收由第二认证服务器130在判断该安全标识符正确后发送的客户端标识。

判断单元126判断该客户端标识和第一登录请求中的客户端标识是否一致。若一致,则由连接管理单元122返回确认消息给第二认证服务器130。

如图4,第二认证服务器130包括:连接管理单元132、判断单元134和存储单元136。

连接管理单元132接收由第一认证服务器120发送的用户标识和第一认证服务器120所在集群的集群标识。

根据本发明的实施例,用户标识包括在第一认证服务器120上登录的第一用户标识和在第二认证服务器130上登录的第二用户标识。

存储单元136存储第二用户标识与第一用户标识、第一用户标识与集群标识的关联关系。

判断单元134从存储单元136存储的内容中判断是否存在该用户标识与集群标识的关联关系。

连接管理单元132在判断存在关联关系时将安全标识符和用户标识、集群标识一并返回给第一认证服务器120、并接收由客户端110发送的第二登录请求,第二登录请求中包含该安全标志符和客户端标识。

判断单元134判断安全标识符是否正确,若判断该安全标识符正确,则由连接管理单元132发送客户端标识给第一认证服务器120以便第一认证服务器确认该客户端标识是否正确。

连接管理单元132接收由第一认证服务器120返回的确认消息后,再根据该安全标识符发送第二访问令牌给客户端110。

关于更具体的第一认证服务器120和第二认证服务器130、客户端110的交互过程,在基于图2的描述中已经详细阐述,可参考前文所述,此处不再赘述。

应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明还一并公开了:

A10、如A7-9中任一项所述的方法,其中,将安全标识符和用户标识、集群标识一并返回给第一认证服务器的步骤之后,还包括步骤:接收由第一认证服务器在确认所述用户标识和集群标识后发送的确认消息,并返回请求成功消息给第一认证服务器。

B12、如B11所述的系统,其中,用户标识包括在第一认证服务器登录的第一用户标识和在第二认证服务器登录的第二用户标识。

B13、如B12所述的系统,在第一认证服务器中,生成单元适于根据用户账户信息查找与之关联的第一用户标识、根据第一用户标识查找与之关联的第二用户标识、并结合所述第一用户标识和第二用户标识生成用户标识。

B14、如B12或13所述的系统,第一认证服务器还包括:存储单元,适于预先存储用户账户信息与第一用户标识、第一用户标识与第二用户标识的关联关系;存储单元还适于在判断单元判断所接收到的用户标识和集群标识与之前发送给第二认证服务器的一致时,关联存储所述安全标识符和客户端标识。

B15、如B12-14中任一项所述的系统,其中,第二认证服务器还包括:存储单元,适于存储第二用户标识与第一用户标识、第一用户标识与集群标识的关联关系。

B16、如B11-15中任一项所述的系统,在第一认证服务器中,连接管理单元还适于在发送安全标识符的时一并发送第一访问令牌给客户端。

B17、如B16所述的系统,其中,客户端还适于根据第一访问令牌访问第一认证服务器对应的资源。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1