CN105323222B - 登录验证方法和系统 - Google Patents

登录验证方法和系统 Download PDF

Info

Publication number
CN105323222B
CN105323222B CN201410331267.9A CN201410331267A CN105323222B CN 105323222 B CN105323222 B CN 105323222B CN 201410331267 A CN201410331267 A CN 201410331267A CN 105323222 B CN105323222 B CN 105323222B
Authority
CN
China
Prior art keywords
party
token
user identifier
login
preset condition
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
Application number
CN201410331267.9A
Other languages
English (en)
Other versions
CN105323222A (zh
Inventor
汤是春
张奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Burson Marsteller Network Game Development (shenzhen) Co Ltd
Original Assignee
Burson Marsteller Network Game Development (shenzhen) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Burson Marsteller Network Game Development (shenzhen) Co Ltd filed Critical Burson Marsteller Network Game Development (shenzhen) Co Ltd
Priority to CN201410331267.9A priority Critical patent/CN105323222B/zh
Publication of CN105323222A publication Critical patent/CN105323222A/zh
Application granted granted Critical
Publication of CN105323222B publication Critical patent/CN105323222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种登录验证方法,所述方法包括:接收第一方客户端所发送的携带有用户标识和令牌参数的登录请求;响应于所述登录请求而判断是否满足第一预设条件;所述第一预设条件包括:所述令牌参数包含有第二方令牌,且所述令牌参数中所包含的第二方令牌与本地对应所述用户标识而缓存的第二方令牌匹配;若满足第一预设条件,则给予对应所述用户标识的登录授权;若不满足第一预设条件,则根据所述令牌参数中所包含的第三方令牌进行验证,验证成功则给予对应所述用户标识的登录授权,验证失败则拒绝登录授权。本发明提供的登录验证方法资源消耗小、登录响应时间短,且可避免当第三方服务器故障时导致的无法登录。本发明还提供了一种登录验证系统。

Description

登录验证方法和系统
技术领域
本发明涉及互联网安全技术领域,特别是涉及一种登录验证方法和系统。
背景技术
为了向用户提供差异性的互联网服务,并保护用户的隐私信息不被恶意窃取,有必要进行登录验证。目前存在一种登录验证方法,第一方的客户端凭借第三方账号和密码在第三方服务器登录授权后获得第三方令牌(TOKEN),并将该第三方令牌发送给第二方服务器进行登录验证。由于第三方令牌由第三方服务器生成,因此第二方服务器在每次进行登录验证时必须将该第三方令牌发送给第三方服务器进行验证,第三方服务器验证通过则准许登录。
然而,目前的登录验证方法需要第二方服务器与第三方服务器进行多次直接的通信,消耗第二方服务器的资源多,而且若第三方服务器故障或第二方服务器与第三方服务器连接的网络故障将导致无法登录。而且第二方服务器和第三方服务器的直接通信也会增加登录响应时间。
发明内容
基于此,有必要针对目前的登录验证方法需要第二方服务器与第三方服务器进行多次直接的通信,消耗第二方服务器的资源多的问题,提供一种登录验证方法和系统。
一种登录验证方法,所述方法包括:
接收第一方客户端所发送的携带有用户标识和令牌参数的登录请求;
响应于所述登录请求而判断是否满足第一预设条件;所述第一预设条件包括:所述令牌参数包含有第二方令牌,且所述令牌参数中所包含的第二方令牌与本地对应所述用户标识而缓存的第二方令牌匹配;
若满足第一预设条件,则给予对应所述用户标识的登录授权;
若不满足第一预设条件,则根据所述令牌参数中所包含的第三方令牌进行验证,验证成功则给予对应所述用户标识的登录授权,验证失败则拒绝登录授权。
一种登录验证系统,所述系统包括:
登录请求接收模块,用于接收第一方客户端所发送的携带有用户标识和令牌参数的登录请求;
第一预设条件判断模块,用于响应于所述登录请求而判断是否满足第一预设条件;所述第一预设条件包括:所述令牌参数包含有第二方令牌,且所述令牌参数中所包含的第二方令牌与本地对应所述用户标识而缓存的第二方令牌匹配;
第一判断结果处理模块,用于若满足第一预设条件,则给予对应所述用户标识的登录授权;
第二判断结果处理模块,用于若不满足第一预设条件,则根据所述令牌参数中所包含的第三方令牌进行验证,验证成功则给予对应所述用户标识的登录授权,验证失败则拒绝登录授权。
上述登录验证方法和系统,第二方服务器在接收到第一方客户端所发送的登录请求后作出响应,先根据第二方令牌进行验证,验证通过就给予登录授权。若第二方令牌验证失败再根据第三方令牌进行验证,验证成功则给予登录授权,相反验证失败则拒绝登录授权。
由于第二方令牌是第二方服务器本地生成的,对其验证可在本地直接进行。而第三方令牌是第三方服务器生成的,其生成方式和验证方式对于第二方是保密的,对其内容进行验证只能将其发送给第三方服务器进行验证。这样如果第一方客户端缓存了第二方令牌,则将其发送给第二方服务器后,第二方服务器不与第三方服务器直接通信就可以进行验证,减少与第三方服务器进行多次直接的通信而带来的资源消耗,且登录响应时间短,也可以避免当第三方服务器故障或与第三方服务器的网络连接故障时导致的无法登录。再者,即使第一方客户端没有缓存第二方令牌,或者根据第二令牌验证失败,也可以利用第一方客户端缓存的第三方令牌进行登录验证,保证登录验证过程能够有效地进行。
一种登录验证方法,所述方法包括:
获取用户标识和对应所述用户标识而缓存的第二方令牌和第三方令牌;
向第二方服务器发送携带有用户标识、所述第二方令牌和所述第三方令牌的登录请求,使所述第二方服务器响应于所述登录请求而根据所述第二方令牌进行验证,验证失败时再根据所述第三方令牌进行验证;
接收所述第二方服务器当根据所述第二方令牌进行验证成功后所发送的表示登录成功的第一登录反馈;或者,接收所述第二方服务器当根据所述第三方令牌进行验证成功后所发送的表示登录成功的第二登录反馈;或者,接收所述第二方服务器当根据所述第三方令牌进行验证失败后所发送的表示登录失败的第三登录反馈。
上述登录验证方法,第一方客户端缓存了用户标识、第二方令牌和第三方令牌,将这些数据添加到登录请求中发送给第二方服务器,第二方服务器就可以先根据第二方令牌进行验证,验证失败再根据第三方令牌进行验证,然后第一方客户端接收第二方服务器所返回的登录反馈,完成登录过程。
由于第二方令牌是第二方服务器生成的,第二方服务器可对其直接进行验证。而第三方令牌是第三方服务器生成的,其生成方式和验证方式对于第二方是保密的,对其验证只能将其发送给第三方服务器进行验证。这样第一方客户端缓存了第二方令牌,则将其发送给第二方服务器后,第二方服务器不与第三方服务器直接通信就可以进行验证,减少与第三方服务器进行多次直接的通信而带来的资源消耗,且登录响应时间短,也可以避免当第三方服务器故障或与第三方服务器的网络连接故障时导致的无法登录。再者,即使根据第二令牌验证失败,也可以利用第一方客户端所缓存的第三方令牌进行登录验证,保证登录验证过程能够有效地进行。
附图说明
图1为一个实施例中登录验证方法的应用环境图;
图2为一个实施例中登录验证方法的流程示意图;
图3为一个实施例中根据令牌参数中所包含的第三方令牌进行验证,验证成功则给予对应用户标识的登录授权,验证失败则拒绝登录授权的步骤的流程示意图;
图4为另一个实施例中登录验证方法的流程示意图;
图5为另一个实施例中登录验证系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在一个实施例中,提供了一种登录验证方法,本实施例以该方法应用于一种登录验证系统中的第二方服务器来举例说明。如图1所示,该登录验证系统包括第一方终端、第二方服务器和第三方服务器,第一方终端上运行有第一方客户端,且第一方终端、第二方服务器和第三方服务器彼此之间可以分别通过网络(比如互联网、局域网等)连接通信。其中,第一方指使用第一方客户端并意图登录第二方服务器的用户,第一方客户端为第一方终端上运行的客户端,第一方客户端由第二方提供而由第一方使用。第二方指提供互联网服务而要求用户执行登录操作的一方,第二方服务器用于根据第一方客户端发出的登录请求进行登录验证。且第一方客户端和第二方服务器是分别对应同一应用的客户端和服务器。第三方指不同于第一方和第二方的一方,第三方服务器用于提供第三方令牌并且提供对第三方令牌的验证服务。如图2所示,该登录验证方法具体包括如下步骤:
步骤202,接收第一方客户端所发送的携带有用户标识和令牌参数的登录请求。
用户标识用于唯一标识出用户身份,通常可由数字、字母、符号和文字中的至少一种字符组成,可以是用户账号。令牌(Token)是服务器生成的用于快捷登录的登录凭据,可以是字符串的形式,第一方客户端缓存该令牌用于快捷登录,生成令牌的服务器缓存该令牌用于对接收到的令牌进行验证。
在一个实施例中,在步骤202之前,包括:第二方服务器接收第一方客户端发送的输入的用户标识和用户密码,根据该用户标识和用户密码进行验证,验证通过后则生成第二方令牌,缓存该生成的第二方令牌,并将生成的第二方令牌发送给第一方客户端缓存。和/或,第三方服务器接收第一方客户端发送的输入的用户标识和用户密码,根据该用户标识和用户密码进行验证,验证通过后则生成第三方令牌,缓存该生成的第三方令牌,并将生成的第三方令牌发送给第一方客户端缓存。其中,第一方客户端缓存的令牌用于在下次登录时据以快捷登录,第二方服务器或者第三方服务器缓存的令牌用于对接收到的令牌进行验证,具体可比较接收到的令牌是否与缓存的令牌一致。
步骤202中,第一方客户端对应用户标识缓存了第二方令牌和/或第三方令牌,在执行登录操作时,第一方客户端获取缓存的用户标识以及第二方令牌和第三方令牌中的至少一种,将获取的第二方令牌和/或第三方令牌加入令牌参数,并向第二方服务器发送携带有用户标识和令牌参数的登录请求。
步骤204,响应于登录请求而判断是否满足第一预设条件。其中,第一预设条件包括:令牌参数包含有第二方令牌,且令牌参数中所包含的第二方令牌与本地对应用户标识而缓存的第二方令牌匹配。若是则执行步骤206,若否则执行步骤208。
具体地,第二方服务器接收到登录请求后作出响应,判断是否满足第一预设条件。满足该第一预设条件,则需要同时满足令牌参数中包含有第二方令牌,而且该令牌参数中所包含的第二方令牌与第二方服务器本地对应用户标识所缓存的第二方令牌一致。若令牌参数不包含有第二方令牌,或者包含的第二方令牌与第二方服务器本地对应用户标识而缓存的第二方令牌不匹配,或者第二方服务器本地未缓存第二方令牌,都属于不满足第一预设条件的情况。
在一个实施例中,第一预设条件还包括:令牌参数中所包含的第二方令牌所携带的有效期限属性符合第一预设期限有效条件。其中有效期限属性可以是该第二方令牌的生成时间,或者指定的该第二方令牌的失效时间,或者该第二方令牌的生成时间和有效时长。第一预设期限有效条件是指使得该第二方令牌处于有效状态的期限条件,比如可以是当前时间与该第二方令牌的生成时间的时间差小于预设阈值,也可以是当前时间小于指定的第二方令牌的失效时间,还可以是当前时间与该第二方令牌的生成时间的时间差小于有效时长。只要令牌参数中所包含的第二方令牌所携带的有效期限属性不符合第一预设期限有效条件,就可以判定不满足第一预设条件。
在一个实施例中,若判定与第三方服务器无法通信,则可修改第一预设期限有效条件,以延长令牌参数中所包含的第二方令牌的有效时长。比如当第一预设期限有效条件是当前时间与该第三方令牌的生成时间的时间差小于预设阈值时,可调大该预设阈值的值。这样由于第二方服务器无法与第三方服务器通信进而无法将第三方令牌发送给第三方服务器进行验证,因此延长第二方令牌的有效时长可以在合理的尺度内保证用户可以正常登录。
在一个实施例中,第二方令牌根据从第一方客户端所获取的用户标识、第一方客户端的客户端标识、运行第一方客户端的终端的终端标识和从本地获取的预设有效期限属性中的至少一种生成。具体地,事先第二方服务器接收第一方客户端所发送的用户标识、第一方客户端的客户端标识、运行第一方客户端的终端的终端标识,并从第二方服务器本地获取预设有效期限属性,然后根据接收和获取的这些数据中的至少一种以及密钥来生成第二方令牌。具体可对接收和获取的这些数据中的至少一种以及密钥进行电子签名以获得第二方令牌。其中,用户标识和终端标识或者客户端标识用于限制只在该第一方终端上有效。预设有效期限属性用于判断生成的第二方令牌的有效时长。
在一个实施例中,第二方令牌具有有效期限属性,且第二方令牌的有效期限属性根据预设业务周期属性或者第三方令牌的有效期限属性确定。举例说明,若预设业务为“每日登录赢取奖励”,则该预设业务周期属性为24小时,则第二方令牌的有效期限属性可以设置为表示该第二方令牌的有效时长为大于等于23而小于24小时,这样可以防止非法用户通过非法挂机程序恶意领取奖励,保证业务能够正常进行。还比如,若第三方令牌的有效期限属性表示第三方令牌的有效时长为6小时,则第二方令牌的有效期限属性可以设置为表示该第二方令牌的有效时长为6~9小时,这样即使第三方令牌失效也可以通过第二方令牌进行登录验证。
步骤204是根据第二方令牌进行验证的步骤,若满足第一预设条件,则根据第二方令牌的验证通过,说明第一方客户端发出的登录请求是可靠的。若不满足第一预设条件,则根据第二方令牌的验证未通过,说明根据第二方令牌还无法判断第一方客户端发出的登录请求是否可靠,需要继续进行后续登录验证的步骤。
步骤206,给予对应用户标识的登录授权。
第二方服务器根据第二方令牌所进行的验证通过,可给予对应上述用户标识的登录授权,使第一方客户端具有登录后的操作权限。步骤206之后,第二方服务器还可以向第一方客户端返回表示登录成功的第一登录反馈,使第一方客户端知晓登录成功从而继续进行后续操作。
步骤208,根据令牌参数中所包含的第三方令牌进行验证,验证成功则给予对应用户标识的登录授权,验证失败则拒绝登录授权。
第二方服务器根据第三方令牌所进行的验证未通过,此时需要进一步根据令牌参数中所包含的第三方令牌进行验证,验证成功则说明该次登录是可靠的,给予对应上述用户标识的登录授权;验证失败则说明该次登录是不可靠的,拒绝该次的登录请求。
上述登录验证方法,第二方服务器在接收到第一方客户端所发送的登录请求后作出响应,先根据第二方令牌进行验证,验证通过就给予登录授权。若第二方令牌验证失败再根据第三方令牌进行验证,验证成功则给予登录授权,相反验证失败则拒绝登录授权。
由于第二方令牌是第二方服务器本地生成的,对其验证可在本地直接进行。而第三方令牌是第三方服务器生成的,其生成方式和验证方式对于第二方是保密的,对其内容进行验证只能将其发送给第三方服务器进行验证。这样如果第一方客户端缓存了第二方令牌,则将其发送给第二方服务器后,第二方服务器不与第三方服务器直接通信就可以进行验证,减少与第三方服务器进行多次直接的通信而带来的资源消耗,且登录响应时间短,也可以避免当第三方服务器故障或与第三方服务器的网络连接故障时导致的无法登录。再者,即使第一方客户端没有缓存第二方令牌,或者根据第二令牌验证失败,也可以利用第一方客户端缓存的第三方令牌进行登录验证,保证登录验证过程能够有效地进行。
如图3所示,在一个实施例中,步骤208具体包括如下步骤:
步骤302,判断是否满足第二预设条件。其中,第二预设条件包括:令牌参数中所包含的第三方令牌与本地对应用户标识而缓存的第三方令牌匹配。若满足则执行步骤304,若不满足则执行步骤306。
具体地,第二方服务器判断是否满足第二预设条件。满足该第二预设条件,则需要满足令牌参数中所包含的第三方令牌与第二方服务器本地对应用户标识而缓存的第三方令牌一致。若令牌参数不包含有第三方令牌,或者包含的第三方令牌与第二方服务器本地对应用户标识而缓存的第三方令牌不一致,或者第二方服务器本地未缓存第三方令牌,都属于不满足第二预设条件的情况。
在一个实施例中,第二预设条件还包括:令牌参数中所包含的第三方令牌所携带的有效期限属性符合第二预设期限有效条件。其中有效期限属性可以是该第三方令牌的生成时间,或者指定的该第三方令牌的失效时间,或者该第三方令牌的生成时间和有效时长。第一预设期限有效条件是指使得该第三方令牌处于有效状态的期限条件,比如可以是当前时间与该第三方令牌的生成时间的时间差小于预设阈值,也可以是当前时间小于指定的第三方令牌的失效时间,还可以是当前时间与该第三方令牌的生成时间的时间差小于有效时长。只要令牌参数中所包含的第三方令牌所携带的有效期限属性不符合第一预设期限有效条件,就可以判定不满足第一预设条件。可以理解的是,上述第一预设条件和第二预设条件中包括的有效期限属性是否符合相应的预设期限有效条件的判断逻辑可以同时存在。
在一个实施例中,第二方服务器本地对应用户标识而缓存的第三方令牌不具有有效期限属性,该登录验证方法还包括:每隔预设时间间隔或者每到预设时间点将缓存的对应用户标识的第三方令牌发送到第三方服务器进行验证,当验证失败时将本地缓存的对应用户标识的第三方令牌删除。
本实施例中,第三方令牌不具有有效期限属性,则该第三方令牌可以在第二方服务器本地长期保存,以备第一方客户端进行后续的每次登录验证时都可以不直接与第三方服务器通信就进行本地登录验证。而实际上第三方服务器上的第三方令牌是有有效期限的,因此需要将缓存的第三方令牌加入定时验证队列中,每隔预设时间间隔或者每到预设时间点将缓存的第三方令牌发送的第三方服务器进行验证,若验证失败则说明该第三方令牌在第三方服务器上已经失效,可将第二方服务器本地缓存的该第三方令牌删除。这样,登录验证和对第三方令牌的验证是异步进行的,可以防止由于当下第二方服务器与第三方服务器通信阻塞导致用户无法登录或者登录响应时间过长。
步骤302是根据第三方令牌进行本地验证的步骤,本地验证是指第二方服务器不需要与第三方服务器通信,而是利用第二方服务器本地缓存的第三方令牌进行验证。若满足第二预设条件,则根据第三方令牌的本地验证通过,说明第一方客户端发出的登录请求是可靠的。若不满足第二预设条件,则根据第三方令牌的本地验证未通过,说明根据第二方令牌进行的本地验证还无法判断第一方客户端发出的登录请求是否可靠,需要继续进行后续登录验证的步骤。
步骤304,给予对应用户标识的登录授权。
第二方服务器根据第三方令牌所进行的本地验证通过,可给予对应上述用户标识的登录授权,使第一方客户端具有登录后的操作权限。步骤304之后,第二方服务器还可以向第一方客户端返回表示登录成功的第二登录反馈,使第一方客户端知晓登录成功从而继续进行后续操作。
在一个实施例中,若满足第二预设条件,则步骤304之前或之后,还包括:生成对应用户标识的第二方令牌并在本地缓存,并将生成的第二方令牌发送给第一方客户端缓存。若第二方服务器本地或第一方客户端已经存在缓存的第二方令牌,则根据生成的第二方令牌更新已缓存的第二方令牌,具体可用生成的第二方令牌替换掉已缓存的第二方令牌。由于当前登录验证过程中,第二方令牌未能起到作用,此时第二方服务器生成第二方令牌并在本地以及第一方客户端缓存,这样上述用户标识在第一方客户端再次进行登录验证时,第一方客户端就可以将其缓存的第二方令牌发送到第二方服务器,第二方服务器通过判断接收到的第二方令牌是否与第二方服务器本地缓存的第二方令牌一致来进行登录验证,便于下次快捷登录。
步骤306,将令牌参数中所包含的第三方令牌发送给第三方服务器进行验证并接收第三方服务器反馈的验证结果。
当第二方服务器本地无法对第三方令牌进行验证时,可将令牌参数中所包含的第三方令牌发送给第三方服务器,由第三方服务器进行验证,并接收第三方服务器所反馈的验证结果。
步骤308,判断验证结果表示验证成功还是验证失败,若表示验证成功,则执行步骤310,若表示验证失败,则执行步骤312。
验证结果可以用数值表示,且不同的数值分别表示验证成功或验证失败。比如可以用数值1表示验证成功,而可以用数字0来表示验证失败。
步骤310,给予对应用户标识的登录授权。
当第二方服务器接收到第三方服务器发送的表示验证成功的验证结果后,则说明经过第三方服务器的验证,该次登录请求是可靠的,可给予对应上述用户标识的登录授权,使第一方客户端具有登录后的操作权限。步骤310之后,第二方服务器还可以向第一方客户端返回表示登录成功的第二登录反馈,使第一方客户端知晓登录成功从而继续进行后续操作。
在一个实施例中,若验证结果表示验证成功,则在步骤310之前或之后,还包括:在本地缓存令牌参数中所包含的第三方令牌;生成对应用户标识的第二方令牌并在本地缓存,并将生成的第二方令牌发送给第一方客户端缓存。若第二方服务器本地已经缓存了第三方令牌,则根据令牌参数中所包含的第三方令牌更新本地已缓存的第三方令牌。若第二方服务器本地或第一方客户端已经存在缓存的第二方令牌,则根据生成的第二方令牌更新已缓存的第二方令牌,具体可用生成的第二方令牌替换掉已缓存的第二方令牌。
本实施例中,由于当前登录验证过程中,第二方令牌未能起到作用,此时第二方服务器生成第二方令牌并在本地以及第一方客户端缓存,这样上述用户标识在第一方客户端再次进行登录验证时,第一方客户端就可以将其缓存的第二方令牌发送到第二方服务器,第二方服务器通过判断接收到的第二方令牌是否与第二方服务器本地缓存的第二方令牌一致来进行登录验证,便于下次快捷登录。而且缓存第三方令牌可以在下次登录时,若对第二方令牌验证失败可以继续根据缓存的第三方令牌进行本地验证,保证登录验证能够有效进行。
步骤312,拒绝登录授权。
当第二方服务器接收到第三方服务器发送的表示验证失败的验证结果后,则说明经过第三方服务器的验证,该次登录请求是不可靠的,需拒绝该次登录请求。步骤312之后,第二方服务器还可以向第一方客户端返回表示登录失败的第三登录反馈,使第一方客户端知晓登录失败从而执行登录失败后的操作。
本实施例中,第二方服务器预先将第三方令牌缓存在本地,虽然无法知晓第三方令牌所表示的具体内容,但也可以通过判断令牌参数中所包含的第三方令牌是否与本地缓存的第三方令牌一致来进行验证,避免与第三方服务器直接通信,从而可以节省资源消耗,降低登录响应时间,以及避免第三方服务器故障导致的无法登录的情形。当第二方服务器本地未缓存第三方令牌时,则只能将令牌参数中所包含的第三方令牌发送给第三方服务器进行验证,保证登录验证过程能够有效地进行。
如图4所示,在一个实施例中,提供了另一种登录验证方法,本实施例以该方法应用于图1所示的登录验证系统中的第一方终端上运行的第一方客户端来举例说明。本实施例中,第二方服务器相应地运行上述实施例中的登录验证方法,可以理解的是第一方客户端在上述实施例中所进行的各种步骤同样适用于本实施例中。该登录验证方法具体包括如下步骤:
步骤402,获取用户标识和对应用户标识而缓存的第二方令牌和第三方令牌。
第一方客户端预先对应用户标识而缓存了第二方令牌和第三方令牌,在进行登录验证时获取缓存的用户标识和对应该用户标识而缓存的第二方令牌和第三方令牌。
步骤404,向第二方服务器发送携带有用户标识、第二方令牌和第三方令牌的登录请求,使第二方服务器响应于登录请求而根据第二方令牌进行验证,验证失败时再根据第三方令牌进行验证。
第一方客户端生成包含有第二方令牌和第三方令牌的令牌参数,将该令牌参数和获取的用户标识加入登录请求,并将该登录请求发送给第二方服务器。第二方服务器运行上述各个实施例中的登录验证方法,接收登录请求并作出响应,先根据第二方令牌进行验证,验证失败时再根据第三方令牌进行验证。
步骤406,接收第二方服务器当根据第二方令牌进行验证成功后所发送的表示登录成功的第一登录反馈;或者,接收第二方服务器当根据第三方令牌进行验证成功后所发送的表示登录成功的第二登录反馈;或者,接收第二方服务器当根据第三方令牌进行验证失败后所发送的表示登录失败的第三登录反馈。
当第二方服务器根据第二方令牌进行验证且验证通过后,则向第一方客户端发送表示登录成功的第一登录反馈,并由第一方客户端接收,从而继续执行登录成功后的操作,比如进入游戏。当第二方服务器根据第二方令牌进行验证失败后,再根据第三方令牌进行验证,验证成功则向第一方客户端发送表示登录成功的第二登录反馈,从而继续执行登录成功后的操作,比如进入游戏;验证失败则向第一方客户端发送表示登录失败的第三登录反馈,从而再执行登录失败后的操作,比如重新进行登录。
在一个实施例中,当接收到第一登录反馈或者第二登录反馈时,该登录验证方法还包括:获取第二方服务器所生成并发送的第二方令牌,并根据获取的第二方令牌更新缓存的第二方令牌。第二登录反馈是第二方服务器在根据第二方令牌验证失败后再根据第三方令牌验证成功后所生成并发送的,是最新的且有效的第二方令牌,可根据该获取的第二方令牌更新缓存的第二方令牌,具体用获取的第二方令牌替换已经缓存的第二方令牌。其中第一登录反馈可以与第二登录反馈内容相同。这样该次登录成功,当下次登录时就可以根据缓存的第二方令牌进行登录验证。
上述登录验证方法,第一方客户端缓存了用户标识、第二方令牌和第三方令牌,将这些数据添加到登录请求中发送给第二方服务器,第二方服务器就可以先根据第二方令牌进行验证,验证失败再根据第三方令牌进行验证,然后第一方客户端接收第二方服务器所返回的登录反馈,完成登录过程。
由于第二方令牌是第二方服务器生成的,第二方服务器可对其直接进行验证。而第三方令牌是第三方服务器生成的,其生成方式和验证方式对于第二方是保密的,对其内容进行验证只能将其发送给第三方服务器进行验证。这样第一方客户端缓存了第二方令牌,则将其发送给第二方服务器后,第二方服务器不与第三方服务器直接通信就可以进行验证,减少与第三方服务器进行多次直接的通信而带来的资源消耗,且登录响应时间短,也可以避免当第三方服务器故障或与第三方服务器的网络连接故障时导致的无法登录。再者,即使根据第二令牌验证失败,也可以利用第一方客户端所缓存的第三方令牌进行登录验证,保证登录验证过程能够有效地进行。
如图5所示,在一个实施例中,还提供了一种登录验证系统,该系统包括登录请求接收模块502、第一预设条件判断模块504、第一判断结果处理模块506和第二判断结果处理模块508。
登录请求接收模块502,用于接收第一方客户端所发送的携带有用户标识和令牌参数的登录请求。
第一预设条件判断模块504,用于响应于登录请求而判断是否满足第一预设条件;第一预设条件包括:令牌参数包含有第二方令牌,且令牌参数中所包含的第二方令牌与本地对应用户标识而缓存的第二方令牌匹配。
第一判断结果处理模块506,用于若满足第一预设条件,则给予对应用户标识的登录授权。
第二判断结果处理模块508,用于若不满足第一预设条件,则根据令牌参数中所包含的第三方令牌进行验证,验证成功则给予对应用户标识的登录授权,验证失败则拒绝登录授权。
在一个实施例中,第二判断结果处理模块508包括第二预设条件判断模块508a、第三判断结果处理模块508b、第四判断结果处理模块508c和验证结果处理模块508d。
第二预设条件判断模块508a,用于判断是否满足第二预设条件;第二预设条件包括:令牌参数中所包含的第三方令牌与本地对应用户标识而缓存的第三方令牌匹配。
第三判断结果处理模块508b,用于若满足第二预设条件,则给予对应用户标识的登录授权。
第四判断结果处理模块508c,用于若不满足第二预设条件,则将令牌参数中所包含的第三方令牌发送给第三方服务器进行验证并接收第三方服务器反馈的验证结果。
验证结果处理模块508d,用于若验证结果表示验证成功,则给予对应用户标识的登录授权;若验证结果表示验证失败,则拒绝登录授权。
在一个实施例中,第一预设条件还包括:令牌参数中所包含的第二方令牌所携带的有效期限属性符合第一预设期限有效条件;和/或,第二预设条件还包括:令牌参数中所包含的第三方令牌所携带的有效期限属性符合第二预设期限有效条件。
在一个实施例中,第二方令牌根据从第一方客户端所获取的用户标识、第一方客户端的客户端标识、运行第一方客户端的终端的终端标识和从本地获取的预设有效期限属性中的至少一种生成。
在一个实施例中,第三判断结果处理模块508b还用于若满足第二预设条件,则生成对应用户标识的第二方令牌并在本地缓存,并将生成的第二方令牌发送给第一方客户端缓存。
在一个实施例中,验证结果处理模块508d还用于若验证结果表示验证成功,则在本地缓存令牌参数中所包含的第三方令牌;生成对应用户标识的第二方令牌并在本地缓存,并将生成的第二方令牌发送给第一方客户端缓存。
在一个实施例中,本地对应用户标识而缓存的第三方令牌不具有有效期限属性,该系统还包括定时验证模块510,用于每隔预设时间间隔或者每到预设时间点将缓存的对应用户标识的第三方令牌发送到第三方服务器进行验证,当验证失败时将本地缓存的对应用户标识的第三方令牌删除。
在一个实施例中,第二方令牌具有有效期限属性,且第二方令牌的有效期限属性根据预设业务周期属性或者第三方令牌的有效期限属性确定。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种登录验证方法,所述方法包括:
接收第一方客户端所发送的携带有用户标识和令牌参数的登录请求;
响应于所述登录请求而判断是否满足第一预设条件;所述第一预设条件包括:所述令牌参数包含有第二方令牌,且所述令牌参数中所包含的第二方令牌与本地对应所述用户标识而缓存的第二方令牌匹配;所述第二方令牌是本地生成的;
若满足第一预设条件,则给予对应所述用户标识的登录授权;
若不满足第一预设条件,则判断是否满足第二预设条件;所述第二预设条件包括:所述令牌参数中所包含的第三方令牌与本地对应所述用户标识而缓存的第三方令牌匹配;
若满足第二预设条件,则给予对应所述用户标识的登录授权;
若不满足第二预设条件,则将所述令牌参数中所包含的第三方令牌发送给第三方服务器进行验证并接收所述第三方服务器反馈的验证结果;
若所述验证结果表示验证成功,则给予对应所述用户标识的登录授权;
若所述验证结果表示验证失败,则拒绝登录授权。
2.根据权利要求1所述的方法,其特征在于,所述第一预设条件还包括:所述令牌参数中所包含的第二方令牌所携带的有效期限属性符合第一预设期限有效条件;
和/或,
所述第二预设条件还包括:所述令牌参数中所包含的第三方令牌所携带的有效期限属性符合第二预设期限有效条件。
3.根据权利要求1所述的方法,其特征在于,所述第二方令牌根据从所述第一方客户端所获取的所述用户标识、所述第一方客户端的客户端标识、运行所述第一方客户端的终端的终端标识和从本地获取的预设有效期限属性中的至少一种生成。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若满足所述第二预设条件,则生成对应所述用户标识的第二方令牌并在本地缓存,并将生成的第二方令牌发送给所述第一方客户端缓存;或者,
所述方法还包括:
若所述验证结果表示验证成功,则在本地缓存所述令牌参数中所包含的第三方令牌;生成对应所述用户标识的第二方令牌并在本地缓存,并将生成的第二方令牌发送给所述第一方客户端缓存。
5.根据权利要求1所述的方法,其特征在于,本地对应所述用户标识而缓存的第三方令牌不具有有效期限属性,所述方法还包括:
每隔预设时间间隔或者每到预设时间点将缓存的对应所述用户标识的第三方令牌发送到第三方服务器进行验证,当验证失败时将本地缓存的对应所述用户标识的第三方令牌删除。
6.根据权利要求1所述的方法,其特征在于,所述第二方令牌具有有效期限属性,且所述第二方令牌的有效期限属性根据预设业务周期属性或者所述第三方令牌的有效期限属性确定。
7.一种登录验证方法,所述方法包括:
获取用户标识和对应所述用户标识而缓存的第二方令牌和第三方令牌;
向第二方服务器发送携带有用户标识、所述第二方令牌和所述第三方令牌的登录请求,使所述第二方服务器响应于所述登录请求而根据所述第二方令牌进行验证,验证失败时再根据所述第三方令牌进行验证;所述第二方令牌是所述第二方服务器生成的;
接收所述第二方服务器当根据所述第二方令牌进行验证成功后所发送的表示登录成功的第一登录反馈;或者,接收所述第二方服务器当根据所述第三方令牌进行验证成功后所发送的表示登录成功的第二登录反馈;或者,接收所述第二方服务器当根据所述第三方令牌进行验证失败后所发送的表示登录失败的第三登录反馈。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当接收到所述第一登录反馈或者所述第二登录反馈时,获取所述第二方服务器所生成并发送的第二方令牌,并根据所述获取的第二方令牌更新所述缓存的第二方令牌。
9.一种登录验证系统,其特征在于,所述系统包括:
登录请求接收模块,用于接收第一方客户端所发送的携带有用户标识和令牌参数的登录请求;
第一预设条件判断模块,用于响应于所述登录请求而判断是否满足第一预设条件;所述第一预设条件包括:所述令牌参数包含有第二方令牌,且所述令牌参数中所包含的第二方令牌与本地对应所述用户标识而缓存的第二方令牌匹配;所述第二方令牌是本地生成的;
第一判断结果处理模块,用于若满足第一预设条件,则给予对应所述用户标识的登录授权;
第二预设条件判断模块,用于若不满足第一预设条件,则判断是否满足第二预设条件;所述第二预设条件包括:所述令牌参数中所包含的第三方令牌与本地对应所述用户标识而缓存的第三方令牌匹配;
第三判断结果处理模块,用于若满足第二预设条件,则给予对应所述用户标识的登录授权;
第四判断结果处理模块,用于若不满足第二预设条件,则将所述令牌参数中所包含的第三方令牌发送给第三方服务器进行验证并接收所述第三方服务器反馈的验证结果;
验证结果处理模块,用于若所述验证结果表示验证成功,则给予对应所述用户标识的登录授权;若所述验证结果表示验证失败,则拒绝登录授权。
CN201410331267.9A 2014-07-11 2014-07-11 登录验证方法和系统 Active CN105323222B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410331267.9A CN105323222B (zh) 2014-07-11 2014-07-11 登录验证方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410331267.9A CN105323222B (zh) 2014-07-11 2014-07-11 登录验证方法和系统

Publications (2)

Publication Number Publication Date
CN105323222A CN105323222A (zh) 2016-02-10
CN105323222B true CN105323222B (zh) 2018-08-24

Family

ID=55249824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410331267.9A Active CN105323222B (zh) 2014-07-11 2014-07-11 登录验证方法和系统

Country Status (1)

Country Link
CN (1) CN105323222B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196892B (zh) * 2016-03-15 2020-03-06 阿里巴巴集团控股有限公司 一种网站登录方法和装置
CN112822222B (zh) * 2018-06-25 2023-04-25 蚂蚁金服(杭州)网络技术有限公司 登录验证方法、自动登录的验证方法、服务端及客户端
CN111193687B (zh) * 2018-11-15 2022-05-13 北京嘀嘀无限科技发展有限公司 合法性验证方法、装置、设备及计算机可读存储介质
CN109802941A (zh) * 2018-12-14 2019-05-24 平安科技(深圳)有限公司 一种登录验证方法、装置、存储介质和服务器
CN109743338A (zh) * 2019-03-21 2019-05-10 深圳市网心科技有限公司 一种自动登陆的验证方法、系统、服务器及可读存储介质
CN112138404A (zh) * 2019-06-28 2020-12-29 北京智明星通科技股份有限公司 游戏app登录验证方法及系统
CN111107109A (zh) * 2020-01-08 2020-05-05 世纪恒通科技股份有限公司 一种基于token的免登录技术
CN111258602B (zh) * 2020-01-10 2023-06-30 百度在线网络技术(北京)有限公司 信息更新方法和装置
CN112511316B (zh) * 2020-12-08 2023-04-07 深圳依时货拉拉科技有限公司 单点登录接入方法、装置、计算机设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098158A (zh) * 2009-12-10 2011-06-15 北大方正集团有限公司 跨域名单点登录和注销的方法、系统及相应设备
CN102761549A (zh) * 2012-07-03 2012-10-31 中国联合网络通信集团有限公司 资源共享的处理方法和系统以及业务平台
CN103051630A (zh) * 2012-12-21 2013-04-17 微梦创科网络科技(中国)有限公司 基于开放平台实现第三方应用授权的方法、装置及系统
CN103581140A (zh) * 2012-08-03 2014-02-12 腾讯科技(深圳)有限公司 授权控制方法及装置和系统、授权请求方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862872B2 (en) * 2008-09-12 2014-10-14 Qualcomm Incorporated Ticket-based spectrum authorization and access control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098158A (zh) * 2009-12-10 2011-06-15 北大方正集团有限公司 跨域名单点登录和注销的方法、系统及相应设备
CN102761549A (zh) * 2012-07-03 2012-10-31 中国联合网络通信集团有限公司 资源共享的处理方法和系统以及业务平台
CN103581140A (zh) * 2012-08-03 2014-02-12 腾讯科技(深圳)有限公司 授权控制方法及装置和系统、授权请求方法及装置
CN103051630A (zh) * 2012-12-21 2013-04-17 微梦创科网络科技(中国)有限公司 基于开放平台实现第三方应用授权的方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《基于OAuth2.0的单点登录系统》;孟青春 等;《软件导刊》;20140325;全文 *
《基于OAuth2.0的认证授权技术》;时子庆 等;《计算机系统应用》;20120315;全文 *

Also Published As

Publication number Publication date
CN105323222A (zh) 2016-02-10

Similar Documents

Publication Publication Date Title
CN105323222B (zh) 登录验证方法和系统
CN104378376B (zh) 基于soa的单点登录方法、认证服务器和浏览器
CN109815656A (zh) 登录认证方法、装置、设备及计算机可读存储介质
CN107948204A (zh) 一键登录方法及系统、相关设备以及计算机可读存储介质
CN103685282B (zh) 一种基于单点登录的身份认证方法
CN107770140A (zh) 一种单点登录认证方法及装置
CN104243458B (zh) 一种安全的网络游戏登录方法及系统
CN106339613B (zh) 一种应用数据的处理方法、终端及服务器
US10778668B2 (en) HTTP session validation module
CN105306456B (zh) 一种登录系统的方法、服务器、系统及网络附属存储设备
CN111062023B (zh) 多应用系统实现单点登录的方法及装置
CN106330816A (zh) 一种登录云桌面的方法和系统
CN109104432B (zh) 一种基于jwt协议的信息传递安全方法
CN108259502A (zh) 用于获取接口访问权限的鉴定方法、服务端及存储介质
CN103841117B (zh) 一种基于Cookie机制的JAAS登录方法和服务器
CN106453303A (zh) 一种用于ios客户端的用户登录状态保存方法及系统
CN106534219A (zh) 用于桌面云门户的安全认证方法和装置
US20120254997A1 (en) Methods and apparatuses for avoiding damage in network attacks
CN113992408B (zh) 多系统统一登录信息处理方法及系统
CN109150800A (zh) 一种登录访问方法、系统和存储介质
CN108076077A (zh) 一种会话控制方法及装置
CN109495486A (zh) 一种基于JWT的单页Web应用集成CAS的方法
CN107835155A (zh) 一种双认证保护方法及装置
CN106790138A (zh) 一种政务云应用用户登录双因子验证的方法
CN113839966A (zh) 一种基于微服务的安全管理系统

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