单点登录方法和系统的制作方法

文档序号:7997387阅读:241来源:国知局
单点登录方法和系统的制作方法
【专利摘要】本发明公开了一种单点登录方法和系统,用以解决现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录等问题。方法包括:第一应用向设置于用户终端中的中间件发送包含所述自动登录授权信息的登录请求;中间件接收登录请求后,获得与认证服务器约定的共享密钥,并在根据共享密钥和指定信息,验证出自动登录授权信息正确后,获得登录凭证;中间件将登录凭证提供给第一应用;第一应用将登录凭证发送给应用服务器;其中:登录凭证用于表征用户终端已成功获得认证服务器的认证。
【专利说明】单点登录方法和系统

【技术领域】
[0001] 本发明涉及数据业务领域,尤其涉及一种单点登录方法和系统。

【背景技术】
[0002] "单点登录"是目前互联网上非常常见的一种业务登录形式,可以允许用户一次认 证,多次登录,以避免用户重复输入口令,从而提高用户使用业务的体验。比如,当客户端第 一次访问应用服务器1时,因为此时客户端还没有登录过任意应用服务器,因此会被引导 到认证服务器中进行登录;根据客户端提供的登录信息,认证服务器进行身份效验,如果通 过效验,则可以返回给客户端一个认证的凭据--ticket ;当客户端再访问别的应用服务 器时,如访问应用服务器2时,就会将这个ticket带上,作为自身已经过认证的凭据;别的 应用服务器接受到带有tichket的访问请求之后,会把该ticket送到认证服务器进行效 验,检查ticket的合法性;如果通过校验,客户端就可以在不用再次登录的情况下访问应 用服务器2 了。
[0003] 目前的单点登录方案多面向Web应用,即需要借用浏览器的重定向机制和会话管 理机制保持用户的登录状态并在不同业务之间传递,这样的方案难以支持跨客户端和浏览 器的单点登录。具体来说,下述两类需求是现有技术提供的上述方案难以满足的:
[0004] 第一类需求:用户利用客户端登录成功后,在浏览器上打开某服务页面,能够自动 以客户端的用户身份登录成功;
[0005] 第二类需求:用户利用浏览器登录成功后,运行本地的某客户端,客户端能够自动 登录成功。
[0006] 针对第一类需求,目前有技术提出了如图1所示的实现从客户端到浏览器的单点 登录方案。该方案的实现过程主要包括下述步骤:
[0007] 首先,客户端在接收到用户输入的登录指令后,成功登录到认证服务器,并获得认 证服务器反馈的认证凭据(如前文所述的ticket);
[0008] 客户端在检测到通过用户点击客户端所提供的应用链接而产生的访问指令后,根 据认证服务器反馈的认证凭据,生成身份凭证并构造包含该身份凭证的URL ;
[0009] 客户端通过调用浏览器,使得浏览器根据生成的包含身份凭证的上述URL向应用 服务器发送访问请求;
[0010] 然后,应用服务器请求认证服务器验证访问请求中包含的身份凭证;
[0011] 认证服务器对身份凭证进行验证,并在验证出客户端已成功登录后,向应用服务 器反馈验证结果;
[0012] 最后,应用服务器根据该验证结果,将登录后页面的信息发送给浏览器进行显示。
[0013] 图1所示的上述流程主要存在两方面的缺陷:
[0014] 1、必须由用户通过启动客户端而触发打开浏览器,而不支持用户手动打开浏览器 进行单点登录;
[0015] 2、不能满足前文所述的第二类需求。


【发明内容】

[0016] 本发明实施例提供一种单点登录方法和系统,用以解决现有技术提供的单点登录 方案存在的必须通过启动客户端而触发打开浏览器进行单点登录,以及不支持前文所述的 第二类需求的问题。
[0017] 本发明实施例采用以下技术方案:
[0018] 一种单点登录方法,包括:
[0019] 设置于用户终端中的第一应用获得自动登录授权信息;并向设置于所述用户终端 中的中间件发送包含所述自动登录授权信息的登录请求;其中:自动登录授权信息是由认 证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的;所述中间件接收所述登 录请求后,获得与认证服务器约定的所述共享密钥,并在根据所述共享密钥和所述指定信 息,验证出所述登录请求中的自动登录授权信息正确后,获得登录凭证;其中:所述登录凭 证用于表征所述用户终端已成功获得所述认证服务器的认证;所述中间件将登录凭证提供 给第一应用;第一应用将登录凭证发送给应用服务器。
[0020] -种单点登录系统,包括设置于用户终端中的第一应用和中间件,其中:
[0021] 所述第一应用,用于获得自动登录授权信息;并向所述中间件发送包含所述自动 登录授权信息的登录请求;以及获得所述中间件提供的登录凭证,并将登录凭证发送给应 用服务器;其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘 要的操作而生成的;
[0022] 所述中间件,用于在接收到所述登录请求后,获得获得与认证服务器约定的所述 共享密钥,并在根据所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授 权信息正确后,获得登录凭证并提供给所述第一应用;其中:所述登录凭证用于表征所述 用户终端已成功获得所述认证服务器的认证。
[0023] 本发明实施例的有益效果如下:
[0024] 通过设置可以获得认证服务器提供给认证成功的该用户终端的单点登录授权信 息的中间件,从而无论用户终端是利用浏览器还是客户端访问应用服务器,都可以根据中 间件获得的单点登录授权信息,成功实现用户终端的单点登录。这就满足了前文在背景技 术中提到的第二类需求,解决了现有技术提供的单点登录方案存在的必须通过启动客户端 而触发打开浏览器进行单点登录,以及不支持前文所述的第二类需求的问题。

【专利附图】

【附图说明】
[0025] 图1为现有技术中的从客户端到浏览器的单点登录方案;
[0026] 图2为本发明实施例提供的一种单点登录方法的具体流程示意图;
[0027] 图3为用于实现实施例1和实施例2的系统结构示意图;
[0028] 图4为实施例1的具体实现流程示意图;
[0029] 图5为实施例2的具体实现流程示意图。

【具体实施方式】
[0030] 为了解决现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开 浏览器进行单点登录,以及不支持前文所述的第二类需求的问题,本发明实施例提供了一 种新型的单点登录方案。该方案通过设置可以获得认证服务器提供给认证成功的用户终端 的单点登录授权信息的中间件,从而无论用户终端是利用浏览器还是客户端访问应用服务 器,都可以根据中间件获得的单点登录授权信息,成功实现用户终端的单点登录。
[0031] 以下结合说明书附图对本发明的实施例进行说明,应当理解,此处所描述的实施 例仅用于说明和解释本发明,并不用于限制本发明。并且在不冲突的情况下,本说明中的实 施例及实施列中的特征可以互相结合。
[0032] 首先,本发明实施例提供一种如图2所示的单点登录方法。该方法主要包括下述 步骤:
[0033] 步骤21,设置于用户终端中的第一应用获得自动登录授权信息;
[0034] 不同于现有技术,本发明实施例中,第一应用欲访问某服务器时,需要先获得该自 动登录授权信息。该自动登录授权信息一般是由认证服务器使用共享密钥和指定信息执行 计算摘要的操作而生成的。第一应用可以但不限于通过下述两种方式之一,来获得该自动 登录授权息:
[0035] 方式一:第一应用从用户终端的存储空间中,读取预先设置于该存储空间中的自 动登录授权信息。比如,可以在对用户终端进行出厂设置时,就在其存储空间中存储该自动 登录授权息。
[0036] 方式二:第一应用向应用服务器发送业务请求;并接收应用服务器根据该业务请 求反馈的自动登录授权信息。其中:应用服务器根据该业务请求反馈的自动登录授权信息 的具体实现过程可以如下:
[0037] 首先,应用服务器在接收到该业务请求后,向认证服务器发送包含该应用服务器 的标识的认证请求;
[0038] 然后,认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是 否存在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构 成;
[0039] 最后,认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息;应用 服务器将认证服务器发送的自动登录授权信息转发给用户终端,以使第一应用获得自动登 录授权息。
[0040] 采用上述方式二的优点在于:可以控制第一应用仅具备访问预先设置的允许被访 问的应用服务器的权限。由于预先设置的允许被访问的应用服务器往往为被验证过的合法 应用服务器,因此采用方式二可以从一定程度上避免第一应用访问不合法的应用服务器而 造成的用户信息泄露等问题,从而提高了整个单点登录方案的合法性。
[0041] 步骤22,第一应用向设置于用户终端中的中间件发送包含获得的自动登录授权信 息的登录请求;
[0042] 其中:这里所述的中间件可以是设置在用户终端中的软件模块,也可以是软硬件 结合实现的实体模块。且该实体模块可设置于用户终端内部,也可以置于用户终端外部。当 其置于用户终端外部的时候,其可以连接到用户终端并与用户终端进行信息交互。
[0043] 步骤23,中间件接收该登录请求后,获得与认证服务器约定的共享密钥;
[0044] 其中:中间件获得与认证服务器约定的共享密钥的一种具体实现流程如下:
[0045] 首先,中间件获得认证服务器发送的中间件登录凭证;其中:中间件登录凭证是 认证服务器验证出由用户终端中的第二应用所发送的用户验证信息正确后发送的;
[0046] 然后,中间件将中间件登录凭证发送给认证服务器;
[0047] 最后,中间件接收认证服务器在验证出该中间件登录凭证正确后发送的共享密 钥。或者,认证证服务器在验证出该中间件登录凭证正确后,也可以向该中间件发送共享密 钥生成信息,由该中间件根据该共享密钥生成信息,生成共享密钥。
[0048] 或者,中间件还可以直接根据预先与认证服务器约定的密钥生成算法,生成该共 享密钥。
[0049] 步骤24,中间件根据获得的该共享密钥和前文所述的指定信息,验证登录请求中 的自动登录授权信息是否正确,在验证结果为该自动登录授权信息正确时,执行步骤25,否 则可以结束流程;
[0050] 步骤25,中间件获得登录凭证;
[0051] 该登录凭证用于表征用户终端已成功获得认证服务器的认证。
[0052] 比如,本发明实施例提供的该方法的一种具体的实现方式中,中间件与认证服务 器中均可以设置共享密钥K和一个计数器C。则中间件收到第一应用的登录请求后,可以利 用该计数器随机生成一个随机数R (即挑战值)返回给第一应用,第一应用将R发送给认证 服务器;认证服务器使用共享密钥K和R计算摘要H1,并以H1作为自动登录授权信息返回 给第一应用,第一应用将该H1返回给中间件;中间件使用K验证H1,若验证出K正确的话, 中间件就使用共享密钥K和C以及其他信息(这里所述的其他信息的具体内容可参见后文 的实施例1)计算摘要H2,并以生成的该H2作为登录凭证。
[0053] 此外,该登录凭证还可以是由认证服务器提供给成功获得认证服务器认证的用户 终端,并存储在用户终端中的。
[0054] 或者,该登录凭证还可以是中间件根据认证服务器提供的单点登录授权信息生成 的。其中:该单点登录授权信息表征用户终端已成功获得认证服务器的认证。针对登录凭 证的该种获得方式,如果中间件在接收到第一应用所发送的登录请求之前,就已经获得并 存储了单点登录授权信息,则中间件在接收到该登录请求后,就可以直接从自身的存储空 间中获取单点登录授权信息,并以其作为登录凭证。而如果中间件在接收到该登录请求时, 还未获得单点登录授权信息,则中间件可以以该登录请求作为触发条件,向认证服务器发 送用户验证信息(一般为用户名和密码),并获得认证服务器在验证出用户验证信息正确后 提供的该单点登录授权信息。
[0055] 步骤26,中间件将登录凭证提供给第一应用;
[0056] 步骤27,第一应用将登录凭证发送给应用服务器,流程结束。
[0057] 本发明实施例中,认证服务器生成自动登录授权信息时所利用的指定信息可以为 第一应用发送的挑战值。在该场景下,上述方法的步骤21之前还可以进一步包括下述两个 步骤:
[0058] 步骤一:中间件在接收到第一应用发送的登录身份请求后,随机生成挑战值;
[0059] 步骤二:中间件向第一应用发送包含生成的该挑战值的身份标识响应,以使第一 应用向认证服务器发送该挑战值。
[0060] 本发明实施例中,上述第一应用可以是浏览器,也可以是除浏览器外的其他应用。 与现有技术相区别的是,采用本发明实施例提供的方案后,无论是什么类型的应用,其在欲 登录应用服务器时,都会向该中间件发送自动登录授权信息和登录请求,以获取登录凭证。 这就满足了前文在【背景技术】中提到的第二类需求,解决了现有技术提供的单点登录方案存 在的必须通过启动客户端而触发打开浏览器进行单点登录,以及不支持前文所述的第二类 需求的问题。
[0061] 本发明实施例中,第一应用可以为浏览器,而第二应用可以为非浏览器的其他应 用;或第二应用为浏览器,而第一应用为非浏览器的其他应用。具体地,当第二应用为浏览 器,而第一应用为非浏览器的客户端时,可以满足【背景技术】中所述的第二类需求。
[0062] 以下以两个具体的实施例为例,详细说明本发明实施例提供的方案在实际中的应 用。
[0063] 实施例1
[0064] 实施例1用于实现从客户端到浏览器的单点登录流程,即实现用户在客户端上登 录成功后,在浏览器上打开某服务页面,能够自动以客户端的用户身份登录成功。
[0065] 用于实现实施例1的系统结构示意图如图3所示,包括用户终端、应用服务器和认 证服务器。其中:用户终端中包含多个应用,该些应用包括浏览器以及非浏览器的应用。具 体地,非浏览器的应用在图3中以"客户端"和"Web应用"进行表示。
[0066] 基于图3所示的系统,以下具体说明实施例1的具体实现流程。该流程包括如图 4所示的下述步骤:
[0067] 步骤41,用户终端成功通过认证服务器的认证后,获得认证服务器向用户终端返 回的用户密钥K,并将K存储于设置于用户终端中的中间件中;
[0068] 具体地,用户终端可以在接收到用户输入的客户端运行指令后,在显示屏上展示 用户验证信息输入界面;然后,将用户输入的用户验证信息(一般包括用户名和密码)发送 给认证服务器进行认证。在该用户验证信息通过认证服务器的校验而被确定为正确后,用 户终端就可以获得认证服务器反馈的K。
[0069] 步骤42,用户终端接收到用户输入到浏览器中的应用服务器访问指令后,向应用 服务器发送访问请求;
[0070] 如,用户终端在接收到用户输入到浏览器中的应用服务器域名后,根据该域名, 向相应的应用服务器发送访问请求。
[0071] 步骤43,应用服务器将浏览器重定向到认证服务器;
[0072] 步骤44,认证服务器向浏览器返回认证页面信息,其中:该认证页面信息中除包 含显示在浏览器窗口中的内容外,还包含浏览器本地运行的脚本(如javascript脚本);
[0073] 步骤45,浏览器通过调用该javascript脚本,触发向本地中间件监听端口发送登 录身份请求;
[0074] 步骤46,中间件判断用户终端是否已成功通过认证服务器的认证,如判断结果为 时,则中间件向浏览器返回用户的身份标识响应(包含用户标识和挑战值),并继续执行步 骤47,否则,中间件向浏览器返回用户终端未登录通知消息,并结束该单点登录流程;
[0075] -般地,中间件可以根据自身是否存储有认证服务器发送的K来判断用户终端是 否已成功通过认证服务器的认证。
[0076] 此外,上述挑战值可以但不限于是中间件生成的一个随机数。
[0077] 可选的,中间件向浏览器返回的用户的身份标识响应中还可以包含一些附加信息 (诸如浏览器发送给认证服务器的用户终端的系统时间、浏览器所访问页面的URL或一些固 定字符串等)。
[0078] 步骤47,浏览器向认证服务器发送中间件返回的用户标识和挑战值,以请求自动 登录授权;
[0079] 步骤48,认证服务器从自身存储的用户标识与用户密钥的对应关系中,确定浏览 器发送的用户标识对应的用户密钥K,并使用K对浏览器发送来的挑战值和其他一些附加 信息(诸如浏览器发送给认证服务器的用户终端的系统时间、浏览器所访问页面的URL或 一些固定字符串等)计算摘要,生成自动登录授权信息,并将生成的该自动登录授权信息返 回给浏览器;
[0080] 步骤49,浏览器通过调用javascript脚本,触发向中间件发送身份凭证获取请 求,该请求中携带自动登录授权信息;
[0081] 步骤410,中间件使用自身存储的K验证自动登录授权信息的正确性,若正确,则 生成登录凭证;
[0082] 其中:生成的该登录凭证包含认证服务器提供给用户终端的单点登录授权信息。
[0083] 如,由于K为认证服务器向成功认证的用户终端发送的信息,因此K可以表征用 户终端可以进行单点登录,从而K可以视为认证服务器提供给用户终端的单点登录授权信 息。或者,认证服务器也可以在成功实现对用户终端的认证后,提供其他一些信息作为单点 登录授权息。
[0084] 步骤411,中间件向浏览器返回登录凭证;
[0085] 步骤412,浏览器向认证服务器发送登录凭证,认证服务器在验证出登录凭证正确 后,生成身份凭证,并将浏览器重定向到应用服务器;浏览器在重定向到应用服务器时,向 应用服务器发送认证服务器提供给浏览器的上述身份凭证;
[0086] 可选的,认证服务器也可以在将浏览器重定向到应用服务器时,直接将生成的身 份凭证发送给应用服务器。
[0087] 步骤413,应用服务器向认证服务器查询其获得的身份凭证的正确性;
[0088] 步骤414,应用服务器在查询得到该身份凭证正确后,向浏览器返回向登录成功的 用户终端所展示的登录后的页面的信息。
[0089] 通过上述步骤,由于在用户终端中设置了一个可以获得并存储认证服务器提供给 认证成功的该用户终端的单点登录授权信息的中间件,从而用户在利用客户端成功实现用 户终端的认证后,后续在利用浏览器访问应用服务器时,就可以根据中间件存储的单点登 录授权信息,成功实现用户终端的单点登录。
[0090] 实施例2
[0091] 用于实现实施例2的系统结构示意图仍然如图3所示,包括用户终端、应用服务器 和认证服务器。
[0092] 基于图3所示的系统,以下具体说明实施例2的具体实现流程。该流程包括如图 5所示的下述步骤:
[0093] 步骤51,用户终端接收用户输入浏览器的用户验证信息,并利用该用户验证信息 获得认证服务器认证;
[0094] 步骤52,浏览器向认证服务器请求中间件登录凭证;
[0095] 实施例2中,浏览器可以采用向应用服务器发送业务请求的方式,向认证服务器 请求中间件登录凭证。
[0096] 步骤53,认证服务器向浏览器返回中间件登录凭证;
[0097] 若浏览器采用的是向应用服务器发送业务请求的方式来请求中间件登录凭证,则 应用服务器在接收到该业务请求后,可以向认证服务器发送包含该应用服务器的标识的认 证请求;
[0098] 认证服务器在接收到该认证请求,判断出认证请求中包含的应用服务器的标识是 否存在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构 成;
[0099] 若判断结果为是时,则认证服务器向应用服务器发送自动登录授权信息;其中: 该自动登录授权信息可以是由认证服务器使用用户密钥和指定信息执行计算摘要的操作 而生成的;
[0100] 应用服务器在接收到认证服务器发送的自动登录授权信息后,将该自动登录授权 信息和中间件登录凭证发送给用户终端,以使第一应用获得自动登录授权信息和中间件凭 证。
[0101] 步骤54,浏览器通过本地方法调用中间件,并将中间件登录凭证发送给中间件;
[0102] 比如,在用户终端中安装中间件时,中间件可以注册本地应用协议(如:sso://), 则用户终端中的浏览器页面在调用中间件时,可以根据调用参数param组装URL(如sso: // param),并将浏览器重定向到该URL,则浏览器根据本地应用协议(如sso//)就可以找到注 册该协议的中间件进程,并调用该进程,从而实现对中间件的调用。
[0103] 步骤55,中间件向认证服务器发送认证请求,该认证请求中携带中间件登录凭 证;
[0104] 步骤56,认证服务器检验中间件登录凭证的正确性;
[0105] 步骤57,认证服务器在检验出中间件登录凭证正确后,向中间件返回认证响应,同 时双方协商生成共享的用户密钥,该用户密钥可以用作认证服务器提供给认证成功的所述 用户终端的单点登录授权信息;
[0106] 步骤58,客户端接收到用户输入的启用指令后,通过调用中间件凭证获取接口,向 中间件发送请求登录凭证的登录请求;
[0107] 若浏览器还获得了自动登录授权信息,则浏览器还将该自动登录授权信息发送给 中间件。
[0108] 步骤59,中间件本地根据用户密钥,计算生成登录凭证返回给客户端;
[0109] 可选的,若中间件接收到浏览器发送的自动登录授权信息,则中间件会根据用户 密钥和指定信息,验证出该自动登录授权信息正确后,再生成登录凭证并返回给客户端。
[0110] 步骤510,客户端向应用服务器发送认证请求,该认证请求中携带中间件返回的登 录凭证;
[0111] 一般地,为了使认证服务器可以识别出该登录凭证所归属的用户,客户端发送的 该认证请求中还可以携带用户标识。
[0112] 步骤511,应用服务器向认证服务器请求验证客户端发送的认证请求中携带的登 录凭证,并接收认证服务器在验证出该登录凭证正确后发送的通知消息;
[0113] 假设认证请求中还携带有用户标识,则应用服务器也会将该用户标识发送给认证 服务器。认证服务器在接收到用户标识和登录凭证后,在预先存储的用户标识和用户密钥 的对应关系中,查找与接收到的该用户标识对应的用户密钥;并比较查找到的用户密钥和 从登录凭证中解析出的用户密钥是否一致;在比较结果为一致时,确定该登录凭证正确,否 则则确定该登录凭证不正确。
[0114] 步骤512,应用服务器向客户端返回用于表征登录成功的信息。
[0115] 通过实施例2包含的上述步骤,用户在利用浏览器成功实现用户终端的认证后, 后续在利用客户端访问应用服务器时,就可以根据中间件存储的单点登录授权信息,成功 实现用户终端的单点登录。这也就满足了前文在【背景技术】中提到的第二类需求,从而解决 了现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点 登录,以及不支持前文所述的第二类需求的问题。
[0116] 值得说明的是,无论是实施例1还是实施例2中的中间件,其都可以具备向认证服 务器发送用户验证信息,从而获得认证服务器提供给认证成功的用户终端的单点登录授权 信息的功能。因此,即便浏览器(或客户端)向中间件请求登录凭证时,中间件还没有获得单 点登录授权信息,中间件也可以以浏览器(或客户端)发送的用于请求登录凭证的消息作为 触发条件,向认证服务器发送用户验证信息,从而获得认证服务器提供给认证成功的用户 终端的单点登录授权信息,并基于该单点登录授权信息,向浏览器(或客户端)提供登录凭 证。
[0117] 出于与前文所述的单点登录方法相同的发明构思,本发明实施例还提供一种单点 登录系统,用以解决现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开 浏览器进行单点登录,以及不支持前文所述的第二类需求的问题。该系统主要包括设置于 用户终端中的第一应用和中间件,其中:第一应用和中间件的功能如下:
[0118] 第一应用,用于获得自动登录授权信息;并向中间件发送包含获得的自动登录授 权信息的登录请求;以及获得中间件提供的登录凭证,并将登录凭证发送给应用服务器; 其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而 生成的;
[0119] 中间件,用于在接收到登录请求后,获得获得与认证服务器约定的共享密钥,并在 根据共享密钥和指定信息,验证出登录请求中的自动登录授权信息正确后,获得登录凭证 并提供给第一应用;其中:登录凭证用于表征用户终端已成功获得认证服务器的认证。
[0120] 可选的,第一应用具体可以用于:
[0121] 从用户终端的存储空间中,读取预先设置于所述存储空间中的自动登录授权信 息;或
[0122] 向应用服务器发送业务请求;并获得应用服务器根据所述业务请求反馈的自动登 录授权息。
[0123] 其中:应用服务器根据业务请求反馈自动登录授权信息的过程具体包括:
[0124] 应用服务器在接收到业务请求后,向认证服务器发送包含该应用服务器的标识的 认证请求;
[0125] 认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是否存在 于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成;
[0126] 认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息;
[0127] 应用服务器将认证服务器发送的自动登录授权信息转发给用户终端,以使第一应 用获得自动登录授权信息。
[0128] 可选的,认证服务器生成自动登录授权信息时所利用的指定信息为第一应用发送 的挑战值。在这样的场景下,中间件还可以用于:在获得自动登录授权信息前,在接收到第 一应用发送的登录身份请求后,随机生成挑战值;向第一应用发送包含挑战值的身份标识 响应;则第一应用还用于向认证服务器发送挑战值。
[0129] 可选的,本发明实施例提供的该中间件具体可以用于:获得认证服务器发送的中 间件登录凭证,其中:中间件登录凭证是认证服务器验证出由用户终端中的第二应用所发 送的用户验证信息正确后发送的;将中间件登录凭证发送给认证服务器;并接收认证服务 器在验证出中间件登录凭证正确后发送的共享密钥;或根据认证证服务器在验证出中间件 登录凭证正确后发送的共享密钥生成信息,生成共享密钥。或者,所述中间件具体可以用 于:根据预先与认证服务器约定的密钥生成算法,生成共享密钥。
[0130] 可选的,第一应用可以为浏览器,则第二应用可以为非浏览器的其他应用;或第二 应用可以为浏览器,则第一应用可以为非浏览器的其他应用。或者第一应用和第二应用均 可以为浏览器;或者第一应用和第二应用均可以为非浏览器的其他应用。
[0131] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。
[0132] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。
[0133] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0134] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
[0135] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。
[0136] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1. 一种单点登录方法,其特征在于,包括: 设置于用户终端中的第一应用获得自动登录授权信息,并向设置于所述用户终端中的 中间件发送包含所述自动登录授权信息的登录请求,其中:自动登录授权信息是由认证服 务器使用共享密钥和指定信息执行计算摘要的操作而生成的; 所述中间件接收所述登录请求后,获得与认证服务器约定的所述共享密钥,并在根据 所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授权信息正确后,获得 登录凭证,其中:所述登录凭证用于表征所述用户终端已成功获得所述认证服务器的认 证; 所述中间件将登录凭证提供给第一应用; 第一应用将登录凭证发送给应用服务器。
2. 如权利要求1所述的方法,其特征在于,第一应用获得自动登录授权信息,具体包 括: 第一应用从所述用户终端的存储空间中,读取预先设置于所述存储空间中的自动登录 授权信息;或 第一应用向应用服务器发送业务请求; 应用服务器在接收到该业务请求后,向认证服务器发送包含该应用服务器的标识的认 证请求; 认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是否存在于预 先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成; 认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息; 应用服务器将认证服务器发送的自动登录授权信息转发给所述用户终端,以使第一应 用获得自动登录授权信息。
3. 如权利要求1所述的方法,其特征在于,认证服务器生成自动登录授权信息时所利 用的所述指定信息为第一应用发送的挑战值;则 第一应用获得自动登录授权信息前,还包括: 所述中间件在接收到第一应用发送的登录身份请求后,随机生成所述挑战值; 所述中间件向第一应用发送包含所述挑战值的身份标识响应,以使第一应用向认证服 务器发送所述挑战值。
4. 如权利要求1所述的方法,其特征在于,所述中间件获得与认证服务器约定的所述 共享密钥,具体包括: 所述中间件获得认证服务器发送的中间件登录凭证,其中:所述中间件登录凭证是认 证服务器验证出由所述用户终端中的第二应用所发送的用户验证信息正确后发送的; 所述中间件将所述中间件登录凭证发送给认证服务器;并 接收认证服务器在验证出所述中间件登录凭证正确后发送的所述共享密钥;或根据认 证证服务器在验证出所述中间件登录凭证正确后发送的共享密钥生成信息,生成所述共享 密钥。
5. 如权利要求4所述的方法,其特征在于,第一应用为浏览器,第二应用为非浏览器的 其他应用;或 第二应用为浏览器,第一应用为非浏览器的其他应用。
6. 如权利要求1所述的方法,其特征在于,中间件获得与认证服务器约定的共享密钥, 具体包括: 中间件根据预先与认证服务器约定的密钥生成算法,生成共享密钥。
7. -种单点登录系统,其特征在于,包括设置于用户终端中的第一应用和中间件,其 中: 所述第一应用,用于获得自动登录授权信息;并向所述中间件发送包含所述自动登录 授权信息的登录请求;以及获得所述中间件提供的登录凭证,并将登录凭证发送给应用服 务器;其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的 操作而生成的; 所述中间件,用于在接收到所述登录请求后,获得获得与认证服务器约定的所述共享 密钥,并在根据所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授权信 息正确后,获得登录凭证并提供给所述第一应用;其中:所述登录凭证用于表征所述用户 终端已成功获得所述认证服务器的认证。
8. 如权利要求7所述的系统,其特征在于,所述第一应用具体用于: 从所述用户终端的存储空间中,读取预先设置于所述存储空间中的自动登录授权信 息;或 向应用服务器发送业务请求;并获得所述应用服务器根据所述业务请求反馈的自动登 录授权信息; 其中:所述应用服务器根据所述业务请求反馈自动登录授权信息的过程具体包括: 应用服务器在接收到所述业务请求后,向认证服务器发送包含该应用服务器的标识的 认证请求;认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是否存 在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成; 认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息;应用服务器将认证 服务器发送的自动登录授权信息转发给所述用户终端,以使所述第一应用获得自动登录授 权信息。
9. 如权利要求7所述的系统,其特征在于,认证服务器生成自动登录授权信息时所利 用的所述指定信息为所述第一应用发送的挑战值;则 所述中间件还用于:在获得自动登录授权信息前,在接收到第一应用发送的登录身份 请求后,随机生成所述挑战值;向所述第一应用发送包含所述挑战值的身份标识响应;则 所述第一应用还用于向认证服务器发送所述挑战值。
10. 如权利要求7所述的系统,其特征在于,所述中间件具体用于: 获得认证服务器发送的中间件登录凭证,其中:所述中间件登录凭证是认证服务器验 证出由所述用户终端中的第二应用所发送的用户验证信息正确后发送的; 所述中间件将所述中间件登录凭证发送给认证服务器;并 接收认证服务器在验证出所述中间件登录凭证正确后发送的所述共享密钥;或根据认 证证服务器在验证出所述中间件登录凭证正确后发送的共享密钥生成信息,生成所述共享 密钥。
11. 如权利要求10所述的系统,其特征在于,所述第一应用为浏览器,所述第二应用为 非浏览器的其他应用;或 所述第二应用为浏览器,所述第一应用为非浏览器的其他应用。
12.如权利要求7所述的系统,其特征在于,所述中间件具体用于:根据预先与所述认 证服务器约定的密钥生成算法,生成共享密钥。
【文档编号】H04L29/06GK104065616SQ201310089647
【公开日】2014年9月24日 申请日期:2013年3月20日 优先权日:2013年3月20日
【发明者】路晓明 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1