单点登录方法和系统技术方案

技术编号:10467681 阅读:198 留言:0更新日期:2014-09-24 19:13
本发明专利技术公开了一种单点登录方法和系统,用以解决现有技术提供的单点登录方案存在的必须通过启动客户端而触发打开浏览器进行单点登录等问题。方法包括:第一应用向设置于用户终端中的中间件发送包含所述自动登录授权信息的登录请求;中间件接收登录请求后,获得与认证服务器约定的共享密钥,并在根据共享密钥和指定信息,验证出自动登录授权信息正确后,获得登录凭证;中间件将登录凭证提供给第一应用;第一应用将登录凭证发送给应用服务器;其中:登录凭证用于表征用户终端已成功获得认证服务器的认证。

【技术实现步骤摘要】
单点登录方法和系统
本专利技术涉及数据业务领域,尤其涉及一种单点登录方法和系统。
技术介绍
“单点登录”是目前互联网上非常常见的一种业务登录形式,可以允许用户一次认证,多次登录,以避免用户重复输入口令,从而提高用户使用业务的体验。比如,当客户端第一次访问应用服务器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,第一应用向设置于用户终端中的中间件发送包含获得的自动登录授本文档来自技高网
...
单点登录方法和系统

【技术保护点】
一种单点登录方法,其特征在于,包括:设置于用户终端中的第一应用获得自动登录授权信息,并向设置于所述用户终端中的中间件发送包含所述自动登录授权信息的登录请求,其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的;所述中间件接收所述登录请求后,获得与认证服务器约定的所述共享密钥,并在根据所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授权信息正确后,获得登录凭证,其中:所述登录凭证用于表征所述用户终端已成功获得所述认证服务器的认证;所述中间件将登录凭证提供给第一应用;第一应用将登录凭证发送给应用服务器。

【技术特征摘要】
1.一种单点登录方法,其特征在于,包括:设置于用户终端中的第一应用获得自动登录授权信息,并向设置于所述用户终端中的中间件发送包含所述自动登录授权信息的登录请求,其中:自动登录授权信息是由认证服务器使用共享密钥和指定信息执行计算摘要的操作而生成的,所述指定信息为所述第一应用发送的挑战值,所述第一应用获得自动登录授权信息前,所述中间件在接收到第一应用发送的登录身份请求后,随机生成所述挑战值,所述中间件向第一应用发送包含所述挑战值的身份标识响应,以使第一应用向认证服务器发送所述挑战值;所述中间件接收所述登录请求后,获得与认证服务器约定的所述共享密钥,并在根据所述共享密钥和所述指定信息,验证出所述登录请求中的自动登录授权信息正确后,获得登录凭证,其中:所述登录凭证用于表征所述用户终端已成功获得所述认证服务器的认证;所述中间件将登录凭证提供给第一应用;第一应用将登录凭证发送给应用服务器。2.如权利要求1所述的方法,其特征在于,第一应用获得自动登录授权信息,具体包括:第一应用从所述用户终端的存储空间中,读取预先设置于所述存储空间中的自动登录授权信息;或第一应用向应用服务器发送业务请求;应用服务器在接收到该业务请求后,向认证服务器发送包含该应用服务器的标识的认证请求;认证服务器接收认证请求,并判断认证请求中包含的应用服务器的标识是否存在于预先存储的标识集合中;其中:该标识集合由允许被访问的应用服务器的标识构成;认证服务器在判断结果为是时,向应用服务器发送自动登录授权信息;应用服务器将认证服务器发送的自动登录授权信息转发给所述用户终端,以使第一应用获得自动登录授权信息。3.如权利要求1所述的方法,其特征在于,所述中间件获得与认证服务器约定的所述共享密钥,具体包括:所述中间件获得认证服务器发送的中间件登录凭证,其中:所述中间件登录凭证是认证服务器验证出由所述用户终端中的第二应用所发送的用户验证信息正确后发送的;所述中间件将所述中间件登录凭证发送给认证服务器;并接收认证服务器在验证出所述中间件登录凭证正确后发送的所述共享密钥;或根据认证服务器在验证出所述中间件登录凭证正确后发送的共享密钥生成信息,生成所述共享密钥。4.如权利要求3所述的方法,其特征在于,第一应用为浏览器,第二应用为非浏览器的其他应用;或第二应用为浏览器,第一应用为非浏览器的其他应用。5.如权利要求1所述的方法,其特征在于,中间件获得与认证服务器约定的共享密钥,具体包括:中间件根据预先与认证服务器约定的密钥生成算法,生成共享密钥。6.一种单点登录系统,其特征在于,包括设置...

【专利技术属性】
技术研发人员:路晓明
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1