CN104065616B - 单点登录方法和*** - Google Patents
单点登录方法和*** Download PDFInfo
- Publication number
- CN104065616B CN104065616B CN201310089647.1A CN201310089647A CN104065616B CN 104065616 B CN104065616 B CN 104065616B CN 201310089647 A CN201310089647 A CN 201310089647A CN 104065616 B CN104065616 B CN 104065616B
- Authority
- CN
- China
- Prior art keywords
- application
- middleware
- logging
- authentication
- server
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种单点登录方法和***,用以解决现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录等问题。方法包括:第一应用向设置于用户终端中的中间件发送包含所述自动登录授权信息的登录请求;中间件接收登录请求后,获得与认证服务器约定的共享密钥,并在根据共享密钥和指定信息,验证出自动登录授权信息正确后,获得登录凭证;中间件将登录凭证提供给第一应用;第一应用将登录凭证发送给应用服务器;其中:登录凭证用于表征用户终端已成功获得认证服务器的认证。
Description
技术领域
本发明涉及数据业务领域,尤其涉及一种单点登录方法和***。
背景技术
“单点登录”是目前互联网上非常常见的一种业务登录形式,可以允许用户一次认证,多次登录,以避免用户重复输入口令,从而提高用户使用业务的体验。比如,当客户端第一次访问应用服务器1时,因为此时客户端还没有登录过任意应用服务器,因此会被引导到认证服务器中进行登录;根据客户端提供的登录信息,认证服务器进行身份效验,如果通过效验,则可以返回给客户端一个认证的凭据——ticket;当客户端再访问别的应用服务器时,如访问应用服务器2时,就会将这个ticket带上,作为自身已经过认证的凭据;别的应用服务器接受到带有tichket的访问请求之后,会把该ticket送到认证服务器进行效验,检查ticket的合法性;如果通过校验,客户端就可以在不用再次登录的情况下访问应用服务器2了。
目前的单点登录方案多面向Web应用,即需要借用浏览器的重定向机制和会话管理机制保持用户的登录状态并在不同业务之间传递,这样的方案难以支持跨客户端和浏览器的单点登录。具体来说,下述两类需求是现有技术提供的上述方案难以满足的:
第一类需求:用户利用客户端登录成功后,在浏览器上打开某服务页面,能够自动以客户端的用户身份登录成功;
第二类需求:用户利用浏览器登录成功后,运行本地的某客户端,客户端能够自动登录成功。
针对第一类需求,目前有技术提出了如图1所示的实现从客户端到浏览器的单点登录方案。该方案的实现过程主要包括下述步骤:
首先,客户端在接收到用户输入的登录指令后,成功登录到认证服务器,并获得认证服务器反馈的认证凭据(如前文所述的ticket);
客户端在检测到通过用户点击客户端所提供的应用链接而产生的访问指令后,根据认证服务器反馈的认证凭据,生成身份凭证并构造包含该身份凭证的URL;
客户端通过调用浏览器,使得浏览器根据生成的包含身份凭证的上述URL向应用服务器发送访问请求;
然后,应用服务器请求认证服务器验证访问请求中包含的身份凭证;
认证服务器对身份凭证进行验证,并在验证出客户端已成功登录后,向应用服务器反馈验证结果;
最后,应用服务器根据该验证结果,将登录后页面的信息发送给浏览器进行显示。
图1所示的上述流程主要存在两方面的缺陷:
1、必须由用户通过启动客户端而触发打开浏览器,而不支持用户手动打开浏览器进行单点登录;
2、不能满足前文所述的第二类需求。
发明内容
本发明实施例提供一种单点登录方法和***,用以解决现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录,以及不支持前文所述的第二类需求的问题。
本发明实施例采用以下技术方案:
一种单点登录方法,包括:
设置于用户终端中的第一应用获得自动登录授权信息;并向设置于所述用户终端中的中间件发送包含所述自动登录授权信息的登录请求;其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的;所述中间件接收所述登录请求后,获得与认证服务器约定的所述共享密钥,并在根据所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授权信息正确后,获得登录凭证;其中:所述登录凭证用于表征所述用户终端已成功获得所述认证服务器的认证;所述中间件将登录凭证提供给第一应用;第一应用将登录凭证发送给应用服务器。
一种单点登录***,包括设置于用户终端中的第一应用和中间件,其中:
所述第一应用,用于获得自动登录授权信息;并向所述中间件发送包含所述自动登录授权信息的登录请求;以及获得所述中间件提供的登录凭证,并将登录凭证发送给应用服务器;其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的;
所述中间件,用于在接收到所述登录请求后,获得获得与认证服务器约定的所述共享密钥,并在根据所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授权信息正确后,获得登录凭证并提供给所述第一应用;其中:所述登录凭证用于表征所述用户终端已成功获得所述认证服务器的认证。
本发明实施例的有益效果如下:
通过设置可以获得认证服务器提供给认证成功的该用户终端的单点登录授权信息的中间件,从而无论用户终端是利用浏览器还是客户端访问应用服务器,都可以根据中间件获得的单点登录授权信息,成功实现用户终端的单点登录。这就满足了前文在背景技术中提到的第二类需求,解决了现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录,以及不支持前文所述的第二类需求的问题。
附图说明
图1为现有技术中的从客户端到浏览器的单点登录方案;
图2为本发明实施例提供的一种单点登录方法的具体流程示意图;
图3为用于实现实施例1和实施例2的***结构示意图;
图4为实施例1的具体实现流程示意图;
图5为实施例2的具体实现流程示意图。
具体实施方式
为了解决现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录,以及不支持前文所述的第二类需求的问题,本发明实施例提供了一种新型的单点登录方案。该方案通过设置可以获得认证服务器提供给认证成功的用户终端的单点登录授权信息的中间件,从而无论用户终端是利用浏览器还是客户端访问应用服务器,都可以根据中间件获得的单点登录授权信息,成功实现用户终端的单点登录。
以下结合说明书附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限制本发明。并且在不冲突的情况下,本说明中的实施例及实施列中的特征可以互相结合。
首先,本发明实施例提供一种如图2所示的单点登录方法。该方法主要包括下述步骤:
步骤21,设置于用户终端中的第一应用获得自动登录授权信息;
不同于现有技术,本发明实施例中,第一应用欲访问某服务器时,需要先获得该自动登录授权信息。该自动登录授权信息一般是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的。第一应用可以但不限于通过下述两种方式之一,来获得该自动登录授权信息:
方式一:第一应用从用户终端的存储空间中,读取预先设置于该存储空间中的自动登录授权信息。比如,可以在对用户终端进行出厂设置时,就在其存储空间中存储该自动登录授权信息。
方式二:第一应用向应用服务器发送业务请求;并接收应用服务器根据该业务请求反馈的自动登录授权信息。其中:应用服务器根据该业务请求反馈的自动登录授权信息的具体实现过程可以如下:
首先,应用服务器在接收到该业务请求后,向认证服务器发送包含该应用服务器的标识的认证请求;
然后,认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是否存在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成;
最后,认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息;应用服务器将认证服务器发送的自动登录授权信息转发给用户终端,以使第一应用获得自动登录授权信息。
采用上述方式二的优点在于:可以控制第一应用仅具备访问预先设置的允许被访问的应用服务器的权限。由于预先设置的允许被访问的应用服务器往往为被验证过的合法应用服务器,因此采用方式二可以从一定程度上避免第一应用访问不合法的应用服务器而造成的用户信息泄露等问题,从而提高了整个单点登录方案的合法性。
步骤22,第一应用向设置于用户终端中的中间件发送包含获得的自动登录授权信息的登录请求;
其中:这里所述的中间件可以是设置在用户终端中的软件模块,也可以是软硬件结合实现的实体模块。且该实体模块可设置于用户终端内部,也可以置于用户终端外部。当其置于用户终端外部的时候,其可以连接到用户终端并与用户终端进行信息交互。
步骤23,中间件接收该登录请求后,获得与认证服务器约定的共享密钥;
其中:中间件获得与认证服务器约定的共享密钥的一种具体实现流程如下:
首先,中间件获得认证服务器发送的中间件登录凭证;其中:中间件登录凭证是认证服务器验证出由用户终端中的第二应用所发送的用户验证信息正确后发送的;
然后,中间件将中间件登录凭证发送给认证服务器;
最后,中间件接收认证服务器在验证出该中间件登录凭证正确后发送的共享密钥。或者,认证证服务器在验证出该中间件登录凭证正确后,也可以向该中间件发送共享密钥生成信息,由该中间件根据该共享密钥生成信息,生成共享密钥。
或者,中间件还可以直接根据预先与认证服务器约定的密钥生成算法,生成该共享密钥。
步骤24,中间件根据获得的该共享密钥和前文所述的指定信息,验证登录请求中的自动登录授权信息是否正确,在验证结果为该自动登录授权信息正确时,执行步骤25,否则可以结束流程;
步骤25,中间件获得登录凭证;
该登录凭证用于表征用户终端已成功获得认证服务器的认证。
比如,本发明实施例提供的该方法的一种具体的实现方式中,中间件与认证服务器中均可以设置共享密钥K和一个计数器C。则中间件收到第一应用的登录请求后,可以利用该计数器随机生成一个随机数R(即挑战值)返回给第一应用,第一应用将R发送给认证服务器;认证服务器使用共享密钥K和R计算摘要H1,并以H1作为自动登录授权信息返回给第一应用,第一应用将该H1返回给中间件;中间件使用K验证H1,若验证出K正确的话,中间件就使用共享密钥K和C以及其他信息(这里所述的其他信息的具体内容可参见后文的实施例1)计算摘要H2,并以生成的该H2作为登录凭证。
此外,该登录凭证还可以是由认证服务器提供给成功获得认证服务器认证的用户终端,并存储在用户终端中的。
或者,该登录凭证还可以是中间件根据认证服务器提供的单点登录授权信息生成的。其中:该单点登录授权信息表征用户终端已成功获得认证服务器的认证。针对登录凭证的该种获得方式,如果中间件在接收到第一应用所发送的登录请求之前,就已经获得并存储了单点登录授权信息,则中间件在接收到该登录请求后,就可以直接从自身的存储空间中获取单点登录授权信息,并以其作为登录凭证。而如果中间件在接收到该登录请求时,还未获得单点登录授权信息,则中间件可以以该登录请求作为触发条件,向认证服务器发送用户验证信息(一般为用户名和密码),并获得认证服务器在验证出用户验证信息正确后提供的该单点登录授权信息。
步骤26,中间件将登录凭证提供给第一应用;
步骤27,第一应用将登录凭证发送给应用服务器,流程结束。
本发明实施例中,认证服务器生成自动登录授权信息时所利用的指定信息可以为第一应用发送的挑战值。在该场景下,上述方法的步骤21之前还可以进一步包括下述两个步骤:
步骤一:中间件在接收到第一应用发送的登录身份请求后,随机生成挑战值;
步骤二:中间件向第一应用发送包含生成的该挑战值的身份标识响应,以使第一应用向认证服务器发送该挑战值。
本发明实施例中,上述第一应用可以是浏览器,也可以是除浏览器外的其他应用。与现有技术相区别的是,采用本发明实施例提供的方案后,无论是什么类型的应用,其在欲登录应用服务器时,都会向该中间件发送自动登录授权信息和登录请求,以获取登录凭证。这就满足了前文在背景技术中提到的第二类需求,解决了现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录,以及不支持前文所述的第二类需求的问题。
本发明实施例中,第一应用可以为浏览器,而第二应用可以为非浏览器的其他应用;或第二应用为浏览器,而第一应用为非浏览器的其他应用。具体地,当第二应用为浏览器,而第一应用为非浏览器的客户端时,可以满足背景技术中所述的第二类需求。
以下以两个具体的实施例为例,详细说明本发明实施例提供的方案在实际中的应用。
实施例1
实施例1用于实现从客户端到浏览器的单点登录流程,即实现用户在客户端上登录成功后,在浏览器上打开某服务页面,能够自动以客户端的用户身份登录成功。
用于实现实施例1的***结构示意图如图3所示,包括用户终端、应用服务器和认证服务器。其中:用户终端中包含多个应用,该些应用包括浏览器以及非浏览器的应用。具体地,非浏览器的应用在图3中以“客户端”和“Web应用”进行表示。
基于图3所示的***,以下具体说明实施例1的具体实现流程。该流程包括如图4所示的下述步骤:
步骤41,用户终端成功通过认证服务器的认证后,获得认证服务器向用户终端返回的用户密钥K,并将K存储于设置于用户终端中的中间件中;
具体地,用户终端可以在接收到用户输入的客户端运行指令后,在显示屏上展示用户验证信息输入界面;然后,将用户输入的用户验证信息(一般包括用户名和密码)发送给认证服务器进行认证。在该用户验证信息通过认证服务器的校验而被确定为正确后,用户终端就可以获得认证服务器反馈的K。
步骤42,用户终端接收到用户输入到浏览器中的应用服务器访问指令后,向应用服务器发送访问请求;
比如,用户终端在接收到用户输入到浏览器中的应用服务器域名后,根据该域名,向相应的应用服务器发送访问请求。
步骤43,应用服务器将浏览器重定向到认证服务器;
步骤44,认证服务器向浏览器返回认证页面信息,其中:该认证页面信息中除包含显示在浏览器窗口中的内容外,还包含浏览器本地运行的脚本(如javascript脚本);
步骤45,浏览器通过调用该javascript脚本,触发向本地中间件监听端口发送登录身份请求;
步骤46,中间件判断用户终端是否已成功通过认证服务器的认证,如判断结果为时,则中间件向浏览器返回用户的身份标识响应(包含用户标识和挑战值),并继续执行步骤47,否则,中间件向浏览器返回用户终端未登录通知消息,并结束该单点登录流程;
一般地,中间件可以根据自身是否存储有认证服务器发送的K来判断用户终端是否已成功通过认证服务器的认证。
此外,上述挑战值可以但不限于是中间件生成的一个随机数。
可选的,中间件向浏览器返回的用户的身份标识响应中还可以包含一些附加信息(诸如浏览器发送给认证服务器的用户终端的***时间、浏览器所访问页面的URL或一些固定字符串等)。
步骤47,浏览器向认证服务器发送中间件返回的用户标识和挑战值,以请求自动登录授权;
步骤48,认证服务器从自身存储的用户标识与用户密钥的对应关系中,确定浏览器发送的用户标识对应的用户密钥K,并使用K对浏览器发送来的挑战值和其他一些附加信息(诸如浏览器发送给认证服务器的用户终端的***时间、浏览器所访问页面的URL或一些固定字符串等)计算摘要,生成自动登录授权信息,并将生成的该自动登录授权信息返回给浏览器;
步骤49,浏览器通过调用javascript脚本,触发向中间件发送身份凭证获取请求,该请求中携带自动登录授权信息;
步骤410,中间件使用自身存储的K验证自动登录授权信息的正确性,若正确,则生成登录凭证;
其中:生成的该登录凭证包含认证服务器提供给用户终端的单点登录授权信息。
比如,由于K为认证服务器向成功认证的用户终端发送的信息,因此K可以表征用户终端可以进行单点登录,从而K可以视为认证服务器提供给用户终端的单点登录授权信息。或者,认证服务器也可以在成功实现对用户终端的认证后,提供其他一些信息作为单点登录授权信息。
步骤411,中间件向浏览器返回登录凭证;
步骤412,浏览器向认证服务器发送登录凭证,认证服务器在验证出登录凭证正确后,生成身份凭证,并将浏览器重定向到应用服务器;浏览器在重定向到应用服务器时,向应用服务器发送认证服务器提供给浏览器的上述身份凭证;
可选的,认证服务器也可以在将浏览器重定向到应用服务器时,直接将生成的身份凭证发送给应用服务器。
步骤413,应用服务器向认证服务器查询其获得的身份凭证的正确性;
步骤414,应用服务器在查询得到该身份凭证正确后,向浏览器返回向登录成功的用户终端所展示的登录后的页面的信息。
通过上述步骤,由于在用户终端中设置了一个可以获得并存储认证服务器提供给认证成功的该用户终端的单点登录授权信息的中间件,从而用户在利用客户端成功实现用户终端的认证后,后续在利用浏览器访问应用服务器时,就可以根据中间件存储的单点登录授权信息,成功实现用户终端的单点登录。
实施例2
用于实现实施例2的***结构示意图仍然如图3所示,包括用户终端、应用服务器和认证服务器。
基于图3所示的***,以下具体说明实施例2的具体实现流程。该流程包括如图5所示的下述步骤:
步骤51,用户终端接收用户输入浏览器的用户验证信息,并利用该用户验证信息获得认证服务器认证;
步骤52,浏览器向认证服务器请求中间件登录凭证;
实施例2中,浏览器可以采用向应用服务器发送业务请求的方式,向认证服务器请求中间件登录凭证。
步骤53,认证服务器向浏览器返回中间件登录凭证;
若浏览器采用的是向应用服务器发送业务请求的方式来请求中间件登录凭证,则应用服务器在接收到该业务请求后,可以向认证服务器发送包含该应用服务器的标识的认证请求;
认证服务器在接收到该认证请求,判断出认证请求中包含的应用服务器的标识是否存在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成;
若判断结果为是时,则认证服务器向应用服务器发送自动登录授权信息;其中:该自动登录授权信息可以是由认证服务器使用用户密钥和指定信息执行计算摘要的操作而生成的;
应用服务器在接收到认证服务器发送的自动登录授权信息后,将该自动登录授权信息和中间件登录凭证发送给用户终端,以使第一应用获得自动登录授权信息和中间件凭证。
步骤54,浏览器通过本地方法调用中间件,并将中间件登录凭证发送给中间件;
比如,在用户终端中安装中间件时,中间件可以注册本地应用协议(如:sso://),则用户终端中的浏览器页面在调用中间件时,可以根据调用参数param组装URL(如sso://param),并将浏览器重定向到该URL,则浏览器根据本地应用协议(如sso//)就可以找到注册该协议的中间件进程,并调用该进程,从而实现对中间件的调用。
步骤55,中间件向认证服务器发送认证请求,该认证请求中携带中间件登录凭证;
步骤56,认证服务器检验中间件登录凭证的正确性;
步骤57,认证服务器在检验出中间件登录凭证正确后,向中间件返回认证响应,同时双方协商生成共享的用户密钥,该用户密钥可以用作认证服务器提供给认证成功的所述用户终端的单点登录授权信息;
步骤58,客户端接收到用户输入的启用指令后,通过调用中间件凭证获取接口,向中间件发送请求登录凭证的登录请求;
若浏览器还获得了自动登录授权信息,则浏览器还将该自动登录授权信息发送给中间件。
步骤59,中间件本地根据用户密钥,计算生成登录凭证返回给客户端;
可选的,若中间件接收到浏览器发送的自动登录授权信息,则中间件会根据用户密钥和指定信息,验证出该自动登录授权信息正确后,再生成登录凭证并返回给客户端。
步骤510,客户端向应用服务器发送认证请求,该认证请求中携带中间件返回的登录凭证;
一般地,为了使认证服务器可以识别出该登录凭证所归属的用户,客户端发送的该认证请求中还可以携带用户标识。
步骤511,应用服务器向认证服务器请求验证客户端发送的认证请求中携带的登录凭证,并接收认证服务器在验证出该登录凭证正确后发送的通知消息;
假设认证请求中还携带有用户标识,则应用服务器也会将该用户标识发送给认证服务器。认证服务器在接收到用户标识和登录凭证后,在预先存储的用户标识和用户密钥的对应关系中,查找与接收到的该用户标识对应的用户密钥;并比较查找到的用户密钥和从登录凭证中解析出的用户密钥是否一致;在比较结果为一致时,确定该登录凭证正确,否则则确定该登录凭证不正确。
步骤512,应用服务器向客户端返回用于表征登录成功的信息。
通过实施例2包含的上述步骤,用户在利用浏览器成功实现用户终端的认证后,后续在利用客户端访问应用服务器时,就可以根据中间件存储的单点登录授权信息,成功实现用户终端的单点登录。这也就满足了前文在背景技术中提到的第二类需求,从而解决了现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录,以及不支持前文所述的第二类需求的问题。
值得说明的是,无论是实施例1还是实施例2中的中间件,其都可以具备向认证服务器发送用户验证信息,从而获得认证服务器提供给认证成功的用户终端的单点登录授权信息的功能。因此,即便浏览器(或客户端)向中间件请求登录凭证时,中间件还没有获得单点登录授权信息,中间件也可以以浏览器(或客户端)发送的用于请求登录凭证的消息作为触发条件,向认证服务器发送用户验证信息,从而获得认证服务器提供给认证成功的用户终端的单点登录授权信息,并基于该单点登录授权信息,向浏览器(或客户端)提供登录凭证。
出于与前文所述的单点登录方法相同的发明构思,本发明实施例还提供一种单点登录***,用以解决现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录,以及不支持前文所述的第二类需求的问题。该***主要包括设置于用户终端中的第一应用和中间件,其中:第一应用和中间件的功能如下:
第一应用,用于获得自动登录授权信息;并向中间件发送包含获得的自动登录授权信息的登录请求;以及获得中间件提供的登录凭证,并将登录凭证发送给应用服务器;其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的;
中间件,用于在接收到登录请求后,获得获得与认证服务器约定的共享密钥,并在根据共享密钥和指定信息,验证出登录请求中的自动登录授权信息正确后,获得登录凭证并提供给第一应用;其中:登录凭证用于表征用户终端已成功获得认证服务器的认证。
可选的,第一应用具体可以用于:
从用户终端的存储空间中,读取预先设置于所述存储空间中的自动登录授权信息;或
向应用服务器发送业务请求;并获得应用服务器根据所述业务请求反馈的自动登录授权信息。
其中:应用服务器根据业务请求反馈自动登录授权信息的过程具体包括:
应用服务器在接收到业务请求后,向认证服务器发送包含该应用服务器的标识的认证请求;
认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是否存在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成;
认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息;
应用服务器将认证服务器发送的自动登录授权信息转发给用户终端,以使第一应用获得自动登录授权信息。
可选的,认证服务器生成自动登录授权信息时所利用的指定信息为第一应用发送的挑战值。在这样的场景下,中间件还可以用于:在获得自动登录授权信息前,在接收到第一应用发送的登录身份请求后,随机生成挑战值;向第一应用发送包含挑战值的身份标识响应;则第一应用还用于向认证服务器发送挑战值。
可选的,本发明实施例提供的该中间件具体可以用于:获得认证服务器发送的中间件登录凭证,其中:中间件登录凭证是认证服务器验证出由用户终端中的第二应用所发送的用户验证信息正确后发送的;将中间件登录凭证发送给认证服务器;并接收认证服务器在验证出中间件登录凭证正确后发送的共享密钥;或根据认证证服务器在验证出中间件登录凭证正确后发送的共享密钥生成信息,生成共享密钥。或者,所述中间件具体可以用于:根据预先与认证服务器约定的密钥生成算法,生成共享密钥。
可选的,第一应用可以为浏览器,则第二应用可以为非浏览器的其他应用;或第二应用可以为浏览器,则第一应用可以为非浏览器的其他应用。或者第一应用和第二应用均可以为浏览器;或者第一应用和第二应用均可以为非浏览器的其他应用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种单点登录方法,其特征在于,包括:
设置于用户终端中的第一应用获得自动登录授权信息,并向设置于所述用户终端中的中间件发送包含所述自动登录授权信息的登录请求,其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的,所述指定信息为所述第一应用发送的挑战值,所述第一应用获得自动登录授权信息前,所述中间件在接收到第一应用发送的登录身份请求后,随机生成所述挑战值,所述中间件向第一应用发送包含所述挑战值的身份标识响应,以使第一应用向认证服务器发送所述挑战值;
所述中间件接收所述登录请求后,获得与认证服务器约定的所述共享密钥,并在根据所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授权信息正确后,获得登录凭证,其中:所述登录凭证用于表征所述用户终端已成功获得所述认证服务器的认证;
所述中间件将登录凭证提供给第一应用;
第一应用将登录凭证发送给应用服务器。
2.如权利要求1所述的方法,其特征在于,第一应用获得自动登录授权信息,具体包括:
第一应用从所述用户终端的存储空间中,读取预先设置于所述存储空间中的自动登录授权信息;或
第一应用向应用服务器发送业务请求;
应用服务器在接收到该业务请求后,向认证服务器发送包含该应用服务器的标识的认证请求;
认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是否存在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成;
认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息;
应用服务器将认证服务器发送的自动登录授权信息转发给所述用户终端,以使第一应用获得自动登录授权信息。
3.如权利要求1所述的方法,其特征在于,所述中间件获得与认证服务器约定的所述共享密钥,具体包括:
所述中间件获得认证服务器发送的中间件登录凭证,其中:所述中间件登录凭证是认证服务器验证出由所述用户终端中的第二应用所发送的用户验证信息正确后发送的;
所述中间件将所述中间件登录凭证发送给认证服务器;并
接收认证服务器在验证出所述中间件登录凭证正确后发送的所述共享密钥;或根据认证服务器在验证出所述中间件登录凭证正确后发送的共享密钥生成信息,生成所述共享密钥。
4.如权利要求3所述的方法,其特征在于,第一应用为浏览器,第二应用为非浏览器的其他应用;或
第二应用为浏览器,第一应用为非浏览器的其他应用。
5.如权利要求1所述的方法,其特征在于,中间件获得与认证服务器约定的共享密钥,具体包括:
中间件根据预先与认证服务器约定的密钥生成算法,生成共享密钥。
6.一种单点登录***,其特征在于,包括设置于用户终端中的第一应用和中间件,其中:
所述第一应用,用于获得自动登录授权信息;并向所述中间件发送包含所述自动登录授权信息的登录请求;以及获得所述中间件提供的登录凭证,并将登录凭证发送给应用服务器;其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的,所述指定信息为所述第一应用发送的挑战值;
所述中间件,用于在接收到所述登录请求后,获得获得与认证服务器约定的所述共享密钥,并在根据所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授权信息正确后,获得登录凭证并提供给所述第一应用;其中:所述登录凭证用于表征所述用户终端已成功获得所述认证服务器的认证;
所述中间件,还用于在获得自动登录授权信息前,在接收到第一应用发送的登录身份请求后,随机生成所述挑战值;向所述第一应用发送包含所述挑战值的身份标识响应;则
所述第一应用还用于向认证服务器发送所述挑战值。
7.如权利要求6所述的***,其特征在于,所述第一应用具体用于:
从所述用户终端的存储空间中,读取预先设置于所述存储空间中的自动登录授权信息;或
向应用服务器发送业务请求;并获得所述应用服务器根据所述业务请求反馈的自动登录授权信息;
其中:所述应用服务器根据所述业务请求反馈自动登录授权信息的过程具体包括:
应用服务器在接收到所述业务请求后,向认证服务器发送包含该应用服务器的标识的认证请求;认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是否存在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成;认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息;应用服务器将认证服务器发送的自动登录授权信息转发给所述用户终端,以使所述第一应用获得自动登录授权信息。
8.如权利要求6所述的***,其特征在于,所述中间件具体用于:
获得认证服务器发送的中间件登录凭证,其中:所述中间件登录凭证是认证服务器验证出由所述用户终端中的第二应用所发送的用户验证信息正确后发送的;
所述中间件将所述中间件登录凭证发送给认证服务器;并
接收认证服务器在验证出所述中间件登录凭证正确后发送的所述共享密钥;或根据认证服务器在验证出所述中间件登录凭证正确后发送的共享密钥生成信息,生成所述共享密钥。
9.如权利要求8所述的***,其特征在于,所述第一应用为浏览器,所述第二应用为非浏览器的其他应用;或
所述第二应用为浏览器,所述第一应用为非浏览器的其他应用。
10.如权利要求6所述的***,其特征在于,所述中间件具体用于:根据预先与所述认证服务器约定的密钥生成算法,生成共享密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310089647.1A CN104065616B (zh) | 2013-03-20 | 2013-03-20 | 单点登录方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310089647.1A CN104065616B (zh) | 2013-03-20 | 2013-03-20 | 单点登录方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104065616A CN104065616A (zh) | 2014-09-24 |
CN104065616B true CN104065616B (zh) | 2017-06-20 |
Family
ID=51553149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310089647.1A Active CN104065616B (zh) | 2013-03-20 | 2013-03-20 | 单点登录方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104065616B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105790945B (zh) * | 2014-12-22 | 2019-09-03 | ***通信集团公司 | 一种实现用户唯一身份认证的认证方法、装置和*** |
CN105812138B (zh) * | 2014-12-31 | 2019-05-28 | 华为技术有限公司 | 登录的处理方法、装置、用户终端及登录*** |
CN104753927B (zh) * | 2015-03-12 | 2018-09-04 | 新华三技术有限公司 | 一种统一验证的方法和设备 |
CN106209726B (zh) * | 2015-04-30 | 2020-06-05 | 中兴通讯股份有限公司 | 一种移动应用单点登录方法及装置 |
CN106302606B (zh) * | 2015-06-08 | 2019-11-29 | ***通信集团湖南有限公司 | 一种跨应用访问方法及装置 |
US10178164B2 (en) | 2015-08-31 | 2019-01-08 | Visa International Service Association | Secure binding of software application to communication device |
CN106982228B (zh) * | 2017-05-08 | 2018-10-09 | 北京深思数盾科技股份有限公司 | 一种实现身份认证的方法及*** |
CN107844712A (zh) * | 2017-11-03 | 2018-03-27 | 北京天融信网络安全技术有限公司 | 一种浏览器共享凭证的方法、装置及计算机可读介质 |
US10642967B2 (en) * | 2017-11-28 | 2020-05-05 | American Express Travel Related Services Company, Inc. | Single sign-on solution using blockchain |
CN108737398B (zh) * | 2018-05-09 | 2022-04-26 | 平安信托有限责任公司 | 信托***的处理方法、装置、计算机设备及存储介质 |
CN110795720A (zh) * | 2018-08-03 | 2020-02-14 | 北京京东尚科信息技术有限公司 | 信息处理方法、***、电子设备和计算机可读介质 |
CN109492375B (zh) * | 2018-11-01 | 2021-07-16 | 北京京航计算通讯研究所 | 基于java中间件集成模式的sap erp单点登录*** |
CN109246146B (zh) * | 2018-11-01 | 2020-10-13 | 北京京航计算通讯研究所 | 基于java中间件集成模式的sap erp单点登录方法 |
CN109388937B (zh) * | 2018-11-05 | 2022-07-12 | 用友网络科技股份有限公司 | 一种多因子身份认证的单点登录方法及登录*** |
CN109815674A (zh) * | 2018-12-28 | 2019-05-28 | 深圳竹云科技有限公司 | 一种基于图像识别自动化登录过程的方法 |
CN111353142A (zh) * | 2019-02-15 | 2020-06-30 | 鸿合科技股份有限公司 | 一种用户信息共享方法及装置、电子设备 |
CN110032855A (zh) * | 2019-02-28 | 2019-07-19 | 招银云创(深圳)信息技术有限公司 | 应用的登录方法、装置、计算机设备和存储介质 |
CN110287682B (zh) * | 2019-07-01 | 2020-12-04 | 北京芯盾时代科技有限公司 | 一种登录方法、装置及*** |
CN110557259A (zh) * | 2019-08-15 | 2019-12-10 | 中国人民银行数字货币研究所 | 一种基于多重身份的身份管理方法、装置及*** |
CN112948802B (zh) * | 2020-04-28 | 2024-03-12 | 深圳市明源云科技有限公司 | 单点登录方法、装置、设备及存储介质 |
CN111800378B (zh) * | 2020-05-21 | 2023-08-11 | 视联动力信息技术股份有限公司 | 一种登录认证方法、装置、***和存储介质 |
CN112804201B (zh) * | 2020-12-30 | 2023-04-28 | 绿盟科技集团股份有限公司 | 一种获取设备信息的方法及装置 |
CN113572763B (zh) * | 2021-07-22 | 2022-10-14 | 中国工商银行股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113965380A (zh) * | 2021-10-21 | 2022-01-21 | 上海高顿教育科技有限公司 | 一种基于多个后台应用的单点登录控制方法和装置 |
CN114584353A (zh) * | 2022-02-23 | 2022-06-03 | 上海外服云信息技术有限公司 | 移动端接入cas的单点登录方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510877A (zh) * | 2009-02-25 | 2009-08-19 | 中国网络通信集团公司 | 单点登录方法和***、通信装置 |
CN102065141A (zh) * | 2010-12-27 | 2011-05-18 | 广州欢网科技有限责任公司 | 一种跨应用与浏览器实现单点登录的方法及*** |
CN102082666A (zh) * | 2009-11-26 | 2011-06-01 | ***通信集团公司 | 单点登录***及方法、业务管理***及单点登录中间*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521660B (zh) * | 2008-02-27 | 2012-10-03 | 华为技术有限公司 | 会话发起协议注册方法、认证及授权方法、***及设备 |
-
2013
- 2013-03-20 CN CN201310089647.1A patent/CN104065616B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510877A (zh) * | 2009-02-25 | 2009-08-19 | 中国网络通信集团公司 | 单点登录方法和***、通信装置 |
CN102082666A (zh) * | 2009-11-26 | 2011-06-01 | ***通信集团公司 | 单点登录***及方法、业务管理***及单点登录中间*** |
CN102065141A (zh) * | 2010-12-27 | 2011-05-18 | 广州欢网科技有限责任公司 | 一种跨应用与浏览器实现单点登录的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN104065616A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104065616B (zh) | 单点登录方法和*** | |
US10171241B2 (en) | Step-up authentication for single sign-on | |
US20240080311A1 (en) | Managing security credentials | |
CN108369615B (zh) | 动态更新captcha质询 | |
CN105007280B (zh) | 一种应用登录方法和装置 | |
CN108810021B (zh) | 确定验证功能的查询***和方法 | |
US9021570B2 (en) | System, control method therefor, service providing apparatus, relay apparatus and computer-readable medium | |
US8819795B2 (en) | Presenting managed security credentials to network sites | |
US8782768B2 (en) | Systems and methods for accessing a virtual desktop | |
CN107342984A (zh) | 一种用于设备绑定的***、方法及装置 | |
WO2014048749A1 (en) | Inter-domain single sign-on | |
JP6044299B2 (ja) | データ参照システムおよびアプリケーション認証方法 | |
CN103368913A (zh) | 帐号登录方法、装置和***以及网络服务器 | |
US10362019B2 (en) | Managing security credentials | |
EP3709592A1 (en) | Detecting web application vulnerabilities | |
CN111062023B (zh) | 多应用***实现单点登录的方法及装置 | |
CN106790063A (zh) | 一种异构web***单点登录的方法 | |
CN107196909A (zh) | 邀请注册方法及装置 | |
KR20220019834A (ko) | 디바이스로의 보안 자격증명 전송을 인증하는 방법 및 시스템 | |
CN110069909A (zh) | 一种免密登录第三方***的方法及装置 | |
CN109388937A (zh) | 一种多因子身份认证的单点登录方法及登录*** | |
CN112738021A (zh) | 单点登录方法、终端、应用服务器、认证服务器及介质 | |
CN113765655A (zh) | 访问控制方法、装置、设备及存储介质 | |
CN114745156A (zh) | 分布式单点登录实现方法、装置、电子设备及存储介质 | |
CN114385995A (zh) | 一种基于Handle的标识解析微服务接入工业互联网的方法及标识服务*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |