一种单点登录的方法、系统以及终端与流程

文档序号:11842734阅读:250来源:国知局
一种单点登录的方法、系统以及终端与流程

本发明涉及通信领域,特别涉及一种单点登录的方法、系统以及终端。



背景技术:

随着移动互联网的发展,很多企业在OA、财务以及客户关系等应用方面都提出了大量移动化的需求,而移动设备上的单点登录是企业应用移动化方面的一个基础功能,用户在一个移动设备上登录了企业的一个应用之后,再打开企业的另外一个应用,无需再次输入用户Id和密码进行登录。

专利号201210291230.9,名称为一种移动设备上单点登录的方法。该专利将用户信息存储在一个可信模块中,同时可信模块记录用户的登录状态,并在登录状态发生变化时进行广播;当用户登录关联模块时,关联模块通过安全通道从可信模块获取用户信息,实现单点登录。虽然该专利针对移动设备上实现了单点登录的方法,但是该方法基于可信模块,而可信模块是驻留在某个应用中,而其他应用要实现单点登录必须先在移动设备上安装具有可信模块的应用才可以使用;并且可信模块只针对登录和登出两种状态进行记录,只要登录成功之后,不管多长时间,其他应用都可以单点,这种方式不安全;另外,可信模块中会记录用户的私密信息,例如:用户的密码信息;这种将用户密码存留在移动设备上的做法,非常不安全。如何提高单点登录的安全性成为急需解决的问题。



技术实现要素:

本发明要解决的主要技术问题是,提供一种单点登录的方法、系统以及终 端,解决现有单点登录安全性差的问题。

为解决上述问题,本发明提供一种单点登录的方法,包括:

终端在用户启动应用程序之后获取当前用户的标识信息,根据所述标识信息从本地安全存储区中获取对应的单点登录信息;

当获取成功时,所述终端对所述单点登录信息进行验证;

当验证通过时,所述终端允许当前用户登录所述应用程序。

在本发明的一种实施例中,所述终端对所述单点登录信息进行验证包括:所述终端判断所述应用程序是否为初载,根据判断结果选用对应单点登录信息验证方式进行验证。

在本发明的一种实施例中,所述单点登录信息包括安全令牌;所述终端根据判断结果选用对应单点登录信息验证方式进行验证包括:

当判断结果为不是初载时,所述终端对验证所述安全令牌是否过期;

当判断结果为是初载时,所述终端发送安全令牌验证请求给单点认证服务器,使所述单点认证服务器根据所述安全令牌验证请求对所述安全令牌进行验证。

在本发明的一种实施例中,所述单点登录信息包括时间戳;所述终端验证所述安全令牌是否过期包括:根据所述时间戳验证所述安全令牌是否过期。

在本发明的一种实施例中,当获取失败时或验证失败时,所述终端发送单点登录请求给单点认证服务器,使所述单点认证服务器根据所述单点登录请求进行验证并生成单点登录信息;所述终端接收所述单点认证服务器返回的所述单点登录信息,并将所述单点登录信息存入本地安全存储区。

在本发明的一种实施例中,当获取失败时,所述单点登录请求包括企业标识信息、应用程序标识信息、用户标识信息、密码和终端信息。

在本发明的一种实施例中,当验证失败时,所述单点登录信息包括会话密钥,所述单点登录请求包括上次单点登录的会话密钥。

为解决上述问题,本发明还提供一种单点登录的方法,包括:

终端在用户启动应用程序之后获取当前用户的标识信息,根据所述标识信息从本地安全存储区中获取对应的单点登录信息;

当获取成功时,所述终端对所述单点登录信息进行验证;

当获取失败时,所述终端发送单点登录请求给单点认证服务器;所述单点登录请求包括企业标识信息、应用程序标识信息、用户标识信息、密码和终端信息;所述认证服务器接收所述单点登录请求,并根据所述单点登录请求进行验证并生成单点登录信息,并将所述单点登录信息发送给所述终端;所述终端接收所述单点认证服务器返回的所述单点登录信息,并将所述单点登录信息存入本地安全存储区;

当验证通过时,所述终端允许当前用户登录所述应用程序;

当获取失败时,所述终端发送单点登录请求给单点认证服务器;所述单点登录请求包括上次单点登录的会话密钥;所述认证服务器接收所述单点登录请求,并根据所述单点登录请求进行验证并生成单点登录信息,并将所述单点登录信息发送给所述终端;所述终端接收所述单点认证服务器返回的所述单点登录信息,并将所述单点登录信息存入本地安全存储区。

为解决上述问题,本发明还提供一种终端,包括获取模块、验证模块和单点登录模块:

所述获取模块用于在用户启动应用程序之后获取当前用户的标识信息,根据所述标识信息从本地安全存储区中获取对应的单点登录信息;

当获取成功时,所述验证模块用于对所述单点登录信息进行验证;

当验证通过时,所述单点登录模块允许当前用户登录所述应用程序。

在本发明的一种实施例中,所述验证模块还用于判断所述应用程序是否为初载,根据判断结果选用对应单点登录信息验证方式进行验证。

在本发明的一种实施例中,所述单点登录信息包括安全令牌;所述验证模块还用于:

当判断结果为不是初载时,所述终端对验证所述安全令牌是否过期;

当判断结果为是初载时,所述终端发送安全令牌验证请求给单点认证服务器,使所述单点认证服务器根据所述安全令牌验证请求对所述安全令牌进行验证。

在本发明的一种实施例中,所述验证模块还用于当获取失败时或验证失败时,发送单点登录请求给单点认证服务器,使所述单点认证服务器根据所述单点登录请求进行验证并生成单点登录信息;接收所述单点认证服务器返回的所述单点登录信息,并将所述单点登录信息存入本地安全存储区。

为解决上述问题,本发明还提供一种单点登录的系统,包括终端和单点认证服务器:

所述终端用于在用户启动应用程序之后获取当前用户的标识信息,根据所述标识信息从本地安全存储区中获取对应的单点登录信息;

当获取成功时,所述终端还用于对所述单点登录信息进行验证;

当获取失败时,所述终端还用于发送单点登录请求给单点认证服务器;所述单点登录请求包括企业标识信息、应用程序标识信息、用户标识信息、密码和终端信息;所述认证服务器用于接收所述单点登录请求,并根据所述单点登录请求进行验证并生成单点登录信息,并将所述单点登录信息发送给所述终端;所述终端还用于接收所述单点认证服务器返回的所述单点登录信息,并将所述 单点登录信息存入本地安全存储区;

当验证通过时,所述终端还用于允许当前用户登录所述应用程序;

当获取失败时,所述终端还用于发送单点登录请求给单点认证服务器;所述单点登录请求包括上次单点登录的会话密钥;所述认证服务器还用于接收所述单点登录请求,并根据所述单点登录请求进行验证并生成单点登录信息,并将所述单点登录信息发送给所述终端;所述终端还用于接收所述单点认证服务器返回的所述单点登录信息,并将所述单点登录信息存入本地安全存储区。

本发明的有益效果是:

本发明提供的单点登录的方法、系统以及终端,终端在用户启动应用程序之后获取当前用户的标识信息,根据标识信息从本地安全存储区中获取对应的单点登录信息;当获取成功时,终端对单点登录信息进行验证;当验证通过时,终端允许当前用户登录应用程序。与现有技术相比,将单点登录信息存储在安全存储区中,并且不是直接存储用户的登录密码信息,能提高用户信息的安全性,并且会对单点登录信息进行验证,而不是随便哪个都可以进行单点登录,进一步的提高了单点登录的安全性。采用本申请的方法,可以实现一种安全、高效的应用单点登录方式,提高用户的体验度。

附图说明

图1为本发明实施例一提供的单点登录的方法流程示意图;

图2为本发明实施例二提供的单点登录的方法流程示意图;

图3为本发明实施例三提供的单点登录的方法流程示意图;

图4为本发明实施例三提供的终端结构示意图;

图5为本发明实施例三提供的单点登录的系统结构示意图。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。

实施例一

本实施例的单点登录的方法,如图1所示,包括以下步骤:

步骤S101:终端在用户启动应用程序之后获取当前用户的标识信息,根据标识信息从本地安全存储区中获取对应的单点登录信息;

在该步骤中,这里的终端主要指移动终端,例如可以为手机等。这里的用户的标识信息可以是用户的ID以及其他常见的身份识别信息。这里的单点登录信息是指单点登录的验证消息,而不是单单的用户登录密码信息。这的安全存储区是指安全系数比较高的存储区,比如需要进行授权后才能进场相关数据查看的存储区。举例,假如某公司的员工张三想通过手机登录他们的公司的OA,张三打开手机上的OA客户端,终端获取张三的ID,通过张三的ID在手机安全存储区中去获取张三单点登录OA的单点登录信息。值得注意的是,安全存储去中的单点登录信息可以是从单点认证服务中获取的,也是终端输入存储的。

步骤S102:当获取成功时,终端对单点登录信息进行验证;

在该步骤中,终端在获取到单点登录信息后,而不是直接进行登录,是先对单点登录信息进行验证,能够提高单点登录的安全性。结合上述步骤S101中的例子进行说明,在获取到张三登录OA对应的单点登录信息后,而不是直接通过该单点登录信息进行登录,是先对该单点登录信息进行验证。

步骤S103:当验证通过时,终端允许当前用户登录应用程序。

在该步骤中,结合上述步骤S102中例子进行说明,对张三登录OA的单点 登录信息验证通过后,张三就登录OA成功,可以在OA中进行相关的操作。

具体的,在上述步骤S102中,终端对单点登录信息进行验证包括:终端判断应用程序是否为初载,根据判断结果选用对应单点登录信息验证方式进行验证。具体的单点登录信息包括安全令牌,当判断结果为不是初载时,终端对验证安全令牌是否过期;当判断结果为是初载时,终端发送安全令牌验证请求给单点认证服务器,使单点认证服务器根据安全令牌验证请求对安全令牌进行验证。具体的,判断安全令牌是否过期,如果单点登录信息中具有安全令牌的时间戳,就根据该时间戳判断安全令牌是否过期,即判断该时间戳是否过期,如果过期,则验证失败,如果没过期,则验证成功。这样,就可以避免随便随时就可以进行单点登录,只有在一定的授权时间内才能进行单点登录,这样可以进一步提高单点登录的安全性,提高用户体验度。当然,如果是第一次初始化时,此时还不能对该应用程序进行授权,必须通过发送安全令牌验证请求给单点认证服务器,让单点认证服务器来判断该应用程式是否合法,提供使用应用程序安全性,避免非法的应用程序得到授权访问,保护用户的信息。结合上述张三的例子进行说明,在对张三登录OA,会先判断OA是不是第一次初始化,即初载。如果OA不是初载,则判断单点登录信息中的安全令牌是否有效,即判断该安全令牌的时间戳是否过期,如果过期,则认为验证没通过,单点登录OA失败,如果没过期,则认为验证通过,单点登录OA成功,张三可以在OA上进行相关操作。如果OA是初载,那么即使获取到了安全令牌,也得通过单点认证服务器对该安全令牌进行验证,看该安全令牌是否可以允许进行OA的单点登录。即终端会发送安全令牌验证请求到单点认证服务器看是否能够单点登录OA。如果验证允许,那么就可以单点登录OA,如果验证不通过,就不允许登录OA。

进一步,在该方法步骤中,当获取失败时或验证失败时,如果此时用户还 想进行单点登录,终端发送单点登录请求给单点认证服务器,使单点认证服务器根据单点登录请求进行验证并生成单点登录信息;终端接收单点认证服务器返回的单点登录信息,并将单点登录信息存入本地安全存储区。优选的,该单点登录请求可以自动进行发送。具体的,当获取失败时,单点登录请求包括企业标识信息、应用程序标识信息、用户标识信息、密码和终端信息。当验证失败时,单点登录信息包括会话密钥,单点登录请求包括上次单点登录的会话密钥。结合上述张三的例子进行说明,当张三进行OA单点登录时,在安全存储区中没有找到张三对应的单点登录信息,或者找到了张三的单点登录信息,但是验证失败了,此时张三还想继续进行OA的使用,那么如果是没有张三的单点登录信息,那么就会发送单点登录请求给单点认证服务器,具体的该单点登录请求包括张三在的企业Id、应用Id、张三Id、密码以及手机信息等数据通过安全通道发送给单点认证服务器进行登录请求。单点认证服务器首先根据企业Id和应用Id,验证企业和应用的合法性;其次根据张三Id和密码验证张三身份的合法性;然后将设备信息、应用Id以及张三Id进行关联,生成一个安全令牌、当前认证的会话密钥以及时间戳。时间戳用于此次单点登录的最大失效时间,当移动设备上应用的单点登录时间超过这个时间戳之后,单点认证服务器将此移动设备上的应用单点登录的安全令牌设置为过期,应用必须重新发起单点登录请求。在终端得到关于张三的安全令牌后,就可以让张三进行OA登录,并且将张三的单点登录信息存储在手机的安全存储区中。如果是有张三的安全令牌,比如是因为安全令牌过期了,此时也要发送单点登录请求给单点认证服务器,此时已经知道了一定的单点登录信息,就可以只通过简单的上次单点登录的会话密钥验证,如果验证成功,就重新生成张三的单点登录信息,可以包括安全令牌,时间戳以及新的会话密钥等。在终端得到关于张三的安全令牌后,就可 以让张三进行OA登录,并且将张三新的单点登录信息存储在手机的安全存储区中,便于下次单点登录。

实施例二

本实施例的单点登录方法,本实施例主要是以第一次初始化程序进行单点登录进行说明,如图2所示,包括以下步骤:

步骤S201:终端向单点认证服务器发送单点登录请求;

步骤S202:认为服务器认证成功之后,将相应的单点登录信息发送给终端;

步骤S203:终端获取单点登录信息,并且存储在安全存储区;

步骤S204:设备上的应用单点登录成功之后,访问应用服务器的业务数据时,向应用服务器发送单点登录信息;

步骤S205:应该服务器根据单点登录信息去单机认证服务进行验证,验证成功,允许终端进行相关数据访问。

实施例三

本实施例的单点登录方法,如图3所示,包括以下步骤:

步骤S301:终端应用程序初始化或启动应用程序,获取当前企业ID,应用程序ID、用户信息和终端信息;

步骤S302:终端从安全存储区中根据用户信息获取相应的安全令牌和时间戳;判断安全存储区是否存储相应的安全令牌,如果存在,进入步骤S303;不存在,进入步骤S309;

步骤S303:判断是否为应用程序初始化加载;如不是,则进入步骤S304;如是则进入步骤S306;

步骤S304:根据时间戳判断安全令牌是否过期;如果过期,进入步骤S307;如果没过期,进入步骤S305;

步骤S305:安全令牌验证通过,进入步骤S311;

步骤S306:向单点认证服务器发起安全令牌验证请求,如果验证通过,进入步骤S305;如果没通过,进入步骤S307;

步骤S307:安全令牌验证失败,进入步骤S308;

步骤S308:自动向单点认证服务器发起单点登录请求,进入步骤S310;

步骤S309:自动向单点认证服务器发起单点登录请求,进入步骤S310;

步骤S310:向本地安全存储区中更新用户Id、安全令牌、时间戳以及当前会话密钥,进入步骤S311;

步骤S311:单点登录成功,切换到应用的主页面;

步骤S312:向本应用的服务器发起业务数据请求;

步骤S313:应用服务器向单点认证服务器发起安全令牌验证请求;

步骤S314:验证通过之后,获取到用户的基本信息,用户可以访问本应用业务数据。

实施例四

本实施例提供一种终端400,如图4所示,包括获取模块401、验证模块402和单点登录模块403:获取模块401用于在用户启动应用程序之后获取当前用户的标识信息,根据标识信息从本地安全存储区中获取对应的单点登录信息;当获取成功时,验证模块402用于对单点登录信息进行验证;当验证通过时,单点登录模块403允许当前用户登录应用程序。

具体的,验证模块402还用于判断应用程序是否为初载,根据判断结果选 用对应单点登录信息验证方式进行验证。

具体的,单点登录信息包括安全令牌;验证模块402还用于:当判断结果为不是初载时,终端400对验证安全令牌是否过期;当判断结果为是初载时,终端400发送安全令牌验证请求给单点认证服务器,使单点认证服务器根据安全令牌验证请求对安全令牌进行验证。

具体的,验证模块402还用于当获取失败时或验证失败时,发送单点登录请求给单点认证服务器,使单点认证服务器根据单点登录请求进行验证并生成单点登录信息;接收单点认证服务器返回的单点登录信息,并将单点登录信息存入本地安全存储区。

本实施例提供一种单点登录的系统,包括终端400和单点认证服务器500:终端400用于在用户启动应用程序之后获取当前用户的标识信息,根据标识信息从本地安全存储区中获取对应的单点登录信息;当获取成功时,终端400还用于对单点登录信息进行验证;当获取失败时,终端400还用于发送单点登录请求给单点认证服务器500;单点登录请求包括企业标识信息、应用程序标识信息、用户标识信息、密码和终端400信息;认证服务器用于接收单点登录请求,并根据单点登录请求进行验证并生成单点登录信息,并将单点登录信息发送给终端400;终端400还用于接收单点认证服务器500返回的单点登录信息,并将单点登录信息存入本地安全存储区;当验证通过时,终端400还用于允许当前用户登录应用程序;当获取失败时,终端400还用于发送单点登录请求给单点认证服务器500;单点登录请求包括上次单点登录的会话密钥;认证服务器还用于接收单点登录请求,并根据单点登录请求进行验证并生成单点登录信息,并将单点登录信息发送给终端400;终端400还用于接收单点认证服务器500返回的单点登录信息,并将单点登录信息存入本地安全存储区。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

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