一种用户登录认证方法

文档序号:190842 发布日期:2021-11-02 浏览:22次 >En<

阅读说明:本技术 一种用户登录认证方法 (User login authentication method ) 是由 陈正伟 辛帅 吴剑清 于 2021-08-02 设计创作,主要内容包括:本发明实施例公开了一种用户登录认证方法,该方法包括:主应用客户端根据生成登录请求;认证服务器基于登录请求进行登录认证,并在登录认证成功时返回加密生成的第一身份令牌;主应用客户端对第一身份令牌进行解密,获取当前用户信息,完成当前用户在主应用客户端上的登录;主应用客户端在检测到当前用户触发的跳转操作,则根据第一身份令牌和目标从应用标识信息生成跳转请求;认证服务器基于跳转请求进行跳转认证,并在跳转认证成功时返回加密生成的第二身份凭据;主应用客户端将第二身份凭据传递至跳转到的目标从应用客户端;目标从应用客户端基于第二身份凭据向认证服务器进行登录认证,从而可以提高用户登录的安全性。(The embodiment of the invention discloses a user login authentication method, which comprises the following steps: the main application client generates a login request; the authentication server performs login authentication based on the login request, and returns a first identity token generated by encryption when the login authentication is successful; the main application client decrypts the first identity token, acquires the current user information and completes the login of the current user on the main application client; when the main application client detects the skip operation triggered by the current user, generating a skip request according to the first identity token and the target slave application identification information; the authentication server performs skip authentication based on the skip request and returns a second identity credential generated by encryption when the skip authentication is successful; the master application client transmits the second identity credential to the target slave application client to which the jump is made; and the target performs login authentication to the authentication server from the application client based on the second identity credential, so that the login security of the user can be improved.)

一种用户登录认证方法

技术领域

本发明实施例涉及计算机技术,尤其涉及一种用户登录认证方法。

背景技术

随着计算机技术的快速发展,保证数据传输的安全性显得尤为重要。在用户登录应用客户端时,需要对用户登录进行身份认证,以避免伪造和假冒的情况,确保用户信息的安全性。

目前,可以将多个应用(即从应用)整合到一个应用门户(即主应用)中,以便用户可以通过该应用门户快速地访问所包含的每个应用,提升用户体验。针对该应用场景,通常是基于用户账号和密码对每个应用进行单独的登录认证。然而,这种用户登录认证方式容易被伪造和模拟,安全性较差。

发明内容

本发明实施例提供了一种用户登录认证方法,以提高用户登录的安全性。

本发明实施例提供了一种用户登录认证方法,包括:

主应用客户端根据当前用户的当前账号信息、当前密码信息和主应用标识信息生成登录请求,并将所述登录请求发送至认证服务器;

所述认证服务器基于所述登录请求进行登录认证,并在登录认证成功时返回加密生成的所述主应用客户端对应的第一身份令牌;

所述主应用客户端接收所述第一身份令牌,并对所述第一身份令牌进行解密,获取当前用户信息,完成当前用户在所述主应用客户端上的登录;

所述主应用客户端在检测到当前用户触发的从所述主应用客户端到目标从应用客户端的跳转操作,则根据所述第一身份令牌和目标从应用标识信息生成跳转请求,并将所述跳转请求发送至所述认证服务器;

所述认证服务器基于所述跳转请求进行跳转认证,并在跳转认证成功时返回加密生成的当前用户对应的第二身份凭据;

所述主应用客户端接收所述第二身份凭据,并将所述第二身份凭据传递至跳转到的所述目标从应用客户端;

所述目标从应用客户端基于所述第二身份凭据向所述认证服务器进行登录认证。

本发明实施例中主应用客户端根据当前用户的当前账号信息、当前密码信息和主应用标识信息生成登录请求,并将登录请求发送至认证服务器;认证服务器基于登录请求进行登录认证,并在登录认证成功时返回加密生成的主应用客户端对应的第一身份令牌;主应用客户端接收第一身份令牌,并对第一身份令牌进行解密,获取当前用户信息,从而完成当前用户在主应用客户端上的登录操作。在当前用户登录主应用客户端成功后,当前用户可以在主应用客户端的界面上触发从主应用客户端到目标从应用客户端的跳转操作,主应用客户端在检测该跳转操作后,根据接收的第一身份令牌和目标从应用标识信息生成跳转请求,并将跳转请求发送至认证服务器;认证服务器基于跳转请求进行跳转认证,并在跳转认证成功时返回加密生成的当前用户对应的第二身份凭据。主应用客户端接收第二身份凭据,并将第二身份凭据传递至跳转到的目标从应用客户端中,目标从应用客户端基于第二身份凭据向认证服务器进行登录认证。本实施例可以通过认证服务器对主应用和从应用进行用户登陆的统一认证,实现一次登录主应用多次使用从应用。并且,在从主应用客户端跳转到目标从应用客户端时,需要将登录主应用客户端成功时接收的第一身份令牌通过跳转请求发送至认证服务器,使得认证服务器基于第一身份令牌进行跳转认证,检测是否是从主应用客户端到目标从应用客户端的跳转,从而可以避免从非主应用客户端的跳转操作,并且在跳转认证成功时,认证服务器可以将加密生成的当前用户对应的第二身份凭据,通过主应用客户端传递至目标从应用客户端中,使得目标从应用客户端可以基于第二身份凭据向所述认证服务器进行登录认证,从而进一步保证目标从应用客户端是通过主应用客户端的跳转操作打开的,无法伪造和模拟目标从应用客户端的登录认证,从而大大提高了用户登录的安全性。

附图说明

图1是本发明实施例一提供的一种用户登录认证方法的流程图;

图2是本发明实施例一所涉及的一种主应用客户端认证过程的示例;

图3是本发明实施例二提供的一种用户登录认证方法的流程图;

图4是本发明实施例二所涉及的一种用户登录认证过程的示例。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种用户登录认证方法的流程图,本实施例可适用于对主应用和从应用进行用户登陆的统一认证,以实现主应用一次登录从应用直接使用的情况。该方法可以由用户登录认证系统来执行,该系统包括:主应用客户端、多个从应用客户端和认证服务器。如图1所示,该方法具体包括以下步骤:

S110、主应用客户端根据当前用户的当前账号信息、当前密码信息和主应用标识信息生成登录请求,并将登录请求发送至认证服务器。

其中,主应用客户端可以是指将多个从应用客户端整合到一起的应用门户,以便通过应用门户进入到每个从应用客户端中。本实施例可以预先生成主应用客户端和每个从应用客户端对应的一个标识信息(AppCode)和应用凭据(AccessKey),以便进行区分。

具体地,当前用户可以在主应用客户端的登录界面上输入当前用户的当前账号信息和当前密码信息,并可以通过点击登录按钮的方式触发登录操作。主应用客户端检测到当前用户触发的登录操作时,可以根据当前用户输入的当前账号信息、当前密码信息和主应用客户端对应的主应用标识信息生成登录请求,并将该登录请求发送至认证服务器。

S120、认证服务器基于登录请求进行登录认证,并在登录认证成功时返回加密生成的主应用客户端对应的第一身份令牌。

具体地,认证服务器可以对登录请求进行解析,并基于解析结果进行登录认证,在登录认证成功时可以基于哈希加密方式,对当前用户信息和主应用客户端对应的主应用信息进行信息加密,生成当前用户对应的第一身份令牌(即Token1),并将第一身份令牌发送至主应用客户端。

S130、主应用客户端接收第一身份令牌,并对第一身份令牌进行解密,获取当前用户信息,完成当前用户在主应用客户端上的登录。

具体地,主应用客户端接收到包含当前用户信息和主应用信息的第一身份令牌,并对该第一身份令牌进行解密,从而获得当前用户信息,使得当前用户在主应用客户端上登录成功,并可以展示出登录后的主应用界面。

S140、主应用客户端在检测到当前用户触发的从主应用客户端到目标从应用客户端的跳转操作,则根据第一身份令牌和目标从应用标识信息生成跳转请求,并将跳转请求发送至认证服务器。

具体地,展示的主应用界面上可以包含每个从应用客户端的跳转图标,当前用户可以基于自身需求从各个从应用客户端中确定需要打开的目标从应用客户端,并可以通过点击该目标从应用客户端对应的跳转图标的方式触发跳转操作。主应用客户端在检测到当前用户触发的跳转操作时,可以生成包含第一身份令牌和目标从应用标识信息的跳转请求,并将该跳转请求发送至认证服务器。

S150、认证服务器基于跳转请求进行跳转认证,并在跳转认证成功时返回加密生成的当前用户对应的第二身份凭据。

具体地,认证服务器对跳转请求进行解析,若未获得第一身份令牌,则表明该跳转请求并不是从主应用客户端上触发产生的,有可能是伪造和模拟的,此时可以确定跳转认证失败。若获得第一身份令牌和目标从应用标识信息,则还需要验证第一身份令牌的有效性,并在验证通过后再从第一身份令牌中获取当前用户的当前账号信息,并可以基于MD5加密方式,对当前账号信息和目标从应用标识信息进行加密,生成当前用户对应的第二身份凭据(即Ticket2),并将第二身份凭据发送至主应用客户端。

S160、主应用客户端接收第二身份凭据,并将第二身份凭据传递至跳转到的目标从应用客户端。

具体地,主应用客户端接收到第二身份凭据后,可以进行目标从应用客户端的跳转,并将第二身份凭据作为参数传递至目标从应用客户端中。

S170、目标从应用客户端基于第二身份凭据向认证服务器进行登录认证。

具体地,目标从应用客户端基于主应用客户端发送的第二身份凭据再向认证服务器进行登录认证,以在登录认证成功后获取当前用户信息,完成当前用户在目标从应用客户端上的登录,从而无需用户手动登录目标从应用客户端,可以从主应用客户端直接进入到目标从应用客户端登录后的从应用界面,实现对主应用和从应用的统一认证,并且一次登录主应用可以多次使用从应用。同时,通过利用加密的第一身份令牌和第二身份凭据,可以避免从非主应用客户端的跳转操作,保证了目标从应用客户端是通过主应用客户端的跳转操作打开的,无法伪造和模拟目标从应用客户端的登录认证,从而大大提高了用户登录的安全性。

本实施例的技术方案,通过认证服务器对主应用和从应用进行用户登陆的统一认证,实现一次登录主应用多次使用从应用。并且,在从主应用客户端跳转到目标从应用客户端时,需要将登录主应用客户端成功时接收的第一身份令牌通过跳转请求发送至认证服务器,使得认证服务器基于第一身份令牌进行跳转认证,检测是否是从主应用客户端到目标从应用客户端的跳转,从而可以避免从非主应用客户端的跳转操作,并且在跳转认证成功时,认证服务器可以将加密生成的当前用户对应的第二身份凭据,通过主应用客户端传递至目标从应用客户端中,使得目标从应用客户端可以基于第二身份凭据向认证服务器进行登录认证,从而进一步保证目标从应用客户端是通过主应用客户端的跳转操作打开的,无法伪造和模拟目标从应用客户端的登录认证,从而大大提高了用户登录的安全性。

在上述技术方案的基础上,步骤S120可以通过执行如下步骤S121-S125实现:

S121、认证服务器根据登录请求中的当前账号信息、当前密码信息和主应用标识信息进行账号验证。

具体地,认证服务器可以对接收到的登录请求进行解析,并基于内存数据库中预先存储的用户注册信息,对解析获得的当前账号信息和当前密码信息进行验证,检测与当前用户在主应用标识信息对应的主应用客户端上的注册信息是否一致,若一致,则表明账号验证成功,否则账号验证失败。

S122、认证服务器在账号验证成功时,根据当前账号信息和主应用标识信息进行信息加密,生成当前用户对应的第一身份凭据,并根据存储的当前用户对应的当前用户信息和主应用客户端对应的主应用信息进行信息加密,生成当前用户对应的第一身份令牌,建立第一身份凭据和第一身份令牌之间的对应关系。

具体地,图2给出了一种当前用户在主应用客户端认证过程的示例,如图2所示,认证服务器在账号验证成功时,可以基于MD5加密方式,对当前账号信息和主应用标识信息进行信息加密,生成当前用户在主应用客户端中的第一身份凭据(即Ticket1)。同时,可以基于哈希加密方式,对内存数据库中的当前用户信息和主应用信息进行信息加密,生成当前用户在主应用客户端中的第一身份令牌(即Token1),并建立第一身份凭据和第一身份令牌之间的对应关系,以便后续进行映射。

示例性地,S122中的“根据当前账号信息和主应用标识信息进行信息加密,生成当前用户对应的第一身份凭据,并根据存储的当前用户对应的当前用户信息和主应用客户端对应的主应用信息进行信息加密,生成当前用户对应的第一身份令牌”,可以包括:根据当前账号信息和主应用标识信息,确定第一盐值;根据当前账号信息、主应用标识信息、第一盐值和当前时间戳进行信息加密,生成当前用户对应的第一身份凭据;根据存储的当前用户对应的当前用户信息、主应用客户端对应的主应用信息和第一盐值进行信息加密,生成当前用户对应的第一身份令牌。

具体地,可以基于预设盐值生成方式,根据当前账号信息和主应用标识信息,确定第一盐值。例如,可以将当前账号信息经过MD5加密后的前8位、8位的固定值(系统初始时进行设置)和主应用标识信息经过MD5加密后的后8位进行拼接获得第一盐值。本实施例可以将当前账号信息、主应用标识信息、第一盐值和当前时间戳进行拼接,并对拼接结果进行MD5加密,获得当前用户对应的第一身份凭据Ticket1。本实施例可以利用HMAC-SHA256哈希加密方式,对当前用户信息、主应用信息和第一盐值进行加密,获得当前用户对应的第一身份令牌Token1。本实施例中的第一身份凭据和第一身份令牌都是基于自定义的第一盐值进行二次加密,从而无法伪造或篡改,进一步提高了用户登录的安全性。

示例性地,在S122之后,还可以包括:认证服务器将第一身份凭据、第一身份令牌和相应的对应关系存储至内存数据库中,并基于第一身份凭据对应的凭据有效时间和第一身份令牌对应的令牌有效时间,定期删除无效的第一身份凭据和第一身份令牌。通过设置第一身份凭据和第一身份令牌的有效时间,可以进一步保证用户登录的安全性。

S123、认证服务器将第一身份凭据发送至主应用客户端。

S124、主应用客户端基于第一身份凭据、主应用标识信息和主用户客户端对应的主应用凭据,生成第一用户信息获取请求,并将第一用户信息获取请求发送至认证服务器。

S125、认证服务器根据第一用户信息获取请求进行用户身份验证,若验证成功,则获取第一身份凭据对应的第一身份令牌,并将第一身份令牌发送至主应用客户端。

具体地,认证服务器对第一用户信息获取请求进行解析,检测解析结果中是否存在当前用户在主用户客户端的第一身份凭据,若存在并进行验证有效性,若验证成功,则可以基于内存数据库中的第一身份凭据和第一身份令牌之间的对应关系,从内存数据库中获取第一身份凭据对应的第一身份令牌Token1,并将Token1发送至主应用客户端,从而完成当前用户在主应用客户端上的登录认证。

示例性地,在S125之后,还可以包括:认证服务器将存储的第一身份凭据进行销毁。具体地,认证服务器在将第一身份凭据对应的第一身份令牌返回之后,可以立即删除存储的第一身份凭据,以保证第一身份凭据只能使用一次,避免后续伪造和模仿,进一步保证了用户登录认证的安全性。

实施例二

图3为本发明实施例二提供的一种用户登录认证方法的流程图,本实施例在上述各实施例的基础上,增加了步骤“认证服务器在跳转认证成功时,根据当前账号信息和目标从应用标识信息进行信息加密,生成当前用户对应的第二身份凭据,并根据存储的当前用户对应的当前用户信息和目标从应用客户端对应的目标从应用信息进行信息加密,生成当前用户对应的第二身份令牌,建立第二身份凭据和第二身份令牌之间的对应关系”,并在此基础上,对目标从应用客户端的登录认证过程进行了详细描述。其中与上述各实施例相同或相应的术语的解释在此不再赘述。

参见图3,本实施例提供的用户登录认证方法具体包括以下步骤:

S310、主应用客户端根据当前用户的当前账号信息、当前密码信息和主应用标识信息生成登录请求,并将登录请求发送至认证服务器。

S320、认证服务器基于登录请求进行登录认证,并在登录认证成功时返回加密生成的主应用客户端对应的第一身份令牌。

S330、主应用客户端接收第一身份令牌,并对第一身份令牌进行解密,获取当前用户信息,完成当前用户在主应用客户端上的登录。

具体地,如图4所示,可以首先完成当前用户在主应用客户端上的登录认证。

S340、主应用客户端在检测到当前用户触发的从主应用客户端到目标从应用客户端的跳转操作,则根据第一身份令牌和目标从应用标识信息生成跳转请求,并将跳转请求发送至认证服务器。

S350、认证服务器基于跳转请求进行跳转认证,并在跳转认证成功时根据当前账号信息和目标从应用标识信息进行信息加密,生成当前用户对应的第二身份凭据,并根据存储的当前用户对应的当前用户信息和目标从应用客户端对应的目标从应用信息进行信息加密,生成当前用户对应的第二身份令牌,建立第二身份凭据和第二身份令牌之间的对应关系。

具体地,如图4所示,认证服务器在跳转验证成功时,可以从第一身份令牌中获取当前账号信息,并可以基于MD5加密方式,对当前账号信息和目标从应用标识信息进行信息加密,生成当前用户在目标从应用客户端中的第二身份凭据(即Ticke2)。同时,可以基于哈希加密方式,对内存数据库中的当前用户信息和目标从应用信息进行信息加密,生成当前用户在目标从应用客户端中的第二身份令牌(即Token2),并建立第二身份凭据和第二身份令牌之间的对应关系,以便后续进行映射。

示例性地,S350可以包括:根据当前账号信息和目标从应用标识信息,确定第二盐值;根据当前账号信息、目标从应用标识信息、第二盐值和当前时间戳进行信息加密,生成当前用户对应的第二身份凭据;根据存储的当前用户对应的当前用户信息、主应用客户端对应的主应用信息和第二盐值进行信息加密,生成当前用户对应的第二身份令牌。

具体地,可以基于预设盐值生成方式,根据当前账号信息和目标从应用标识信息,确定第二盐值。例如,可以将当前账号信息经过MD5加密后的前8位、8位的固定值(系统初始时进行设置)和目标从应用标识信息经过MD5加密后的后8位进行拼接获得第二盐值。本实施例可以将当前账号信息、目标从应用标识信息、第二盐值和当前时间戳进行拼接,并对拼接结果进行MD5加密,获得当前用户对应的第二身份凭据Ticket2。本实施例可以利用HMAC-SHA256哈希加密方式,对当前用户信息、目标从应用信息和第二盐值进行加密,获得当前用户对应的第二身份令牌Token2。本实施例中的第二身份凭据和第二身份令牌都是基于自定义的第二盐值进行二次加密,从而无法伪造或篡改,进一步提高了用户登录的安全性。

示例性地,在S350之后,还可以包括:认证服务器将第二身份凭据、第二身份令牌和相应的对应关系存储至内存数据库中,并基于第二身份凭据对应的凭据有效时间和第二身份令牌对应的令牌有效时间,定期删除无效的第二身份凭据和第二身份令牌。通过设置第二身份凭据和第二身份令牌的有效时间,可以进一步保证用户登录的安全性。

S360、认证服务器将第二身份凭据发送至主应用客户端。

S370、主应用客户端接收第二身份凭据,并将第二身份凭据传递至跳转到的目标从应用客户端。

S380、目标从应用客户端基于第二身份凭据、目标从应用标识信息和目标从应用客户端对应的目标从应用凭据,生成第二用户信息获取请求,并将第二用户信息获取请求发送至认证服务器。

S390、认证服务器根据第二用户信息获取请求进行用户身份验证,并在验证成功时,获取第二身份凭据对应的第二身份令牌,并将第二身份令牌发送至目标从应用客户端。

具体地,认证服务器对第二用户信息获取请求进行解析,检测解析结果中是否存在当前用户在目标从用户客户端的第二身份凭据,若存在并进行验证有效性,若验证成功,则可以基于内存数据库中的第二身份凭据和第二身份令牌之间的对应关系,从内存数据库中获取第二身份凭据对应的第二身份令牌Token2,并将Token2发送至目标从应用客户端,从而完成当前用户在目标从应用客户端上的登录认证,从而通过认证服务器对主应用和从应用进行用户登陆的统一认证。

示例性地,在S390之后,还可以包括:认证服务器将存储的第二身份凭据进行销毁。具体地,认证服务器在将第二身份凭据对应的第二身份令牌返回之后,可以立即删除存储的第二身份凭据,以保证第二身份凭据只能使用一次,避免后续伪造和模仿,进一步保证了用户登录认证的安全性。

S391、目标从应用客户端接收第二身份令牌,并对第二身份令牌进行解密,获取当前用户信息,完成当前用户在目标从应用客户端上的登录。

具体地,目标从应用客户端接收到包含当前用户信息的第二身份令牌,可以对该第二身份令牌进行解密,从而获得当前用户信息,使得当前用户在目标从应用客户端上登录成功,并可以展示出登录后的目标从应用界面,实现了用户一次登录主应用多次使用从应用的需求,并且通过利用身份凭据的方式保证了用户登录的安全性。

本实施例的技术方案,目标从应用客户端通过利用跳转验证成功后生成的第二身份凭据,向认证服务器进行登录认证,以便接收到第二身份凭据对应的第二身份令牌,并对第二身份令牌进行解密,获取当前用户信息,完成当前用户在目标从应用客户端上的登录,从而可以保证用户在目标从应用客户端上登录的安全性。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种电网数据的应用方法、装置及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类