掌桥专利:专业的专利平台
掌桥专利
首页

一种应用登录方法、装置、设备及介质

文献发布时间:2024-01-17 01:28:27


一种应用登录方法、装置、设备及介质

技术领域

本发明涉及计算机技术领域,特别涉及一种应用登录方法、装置、设备及介质。

背景技术

目前,现有的移动终端统一身份认证代理软件一般使用OAuth2.0(开放授权协议,Open Authorization)技术,该技术在第三方应用与服务提供商之间设置了一个授权层。第三方应用不能直接登录服务提供商,只能登录授权层,第三方应用登录授权层所用的令牌存在权限范围和有效期。第三方应用登录授权层以后,服务提供商根据令牌的权限范围和有效期,向第三方应用开放用户资源。第三方应用使用得到的用户资源在自身的应用系统实现单点登录。现有OAuth2.0技术在实际使用中首先需要第三方应用在服务提供商进行应用注册,获取得到应用标识和应用秘密值,用于登录授权层时对应用进行认证。服务提供商向第三方应用分发应用秘密值的过程存在被窃取风险,第三方应用在移动终端存储使用应用秘密值也存在泄漏风险。同时,第三方应用在线从服务提供商获取授权层令牌的过程存在被窃取风险,授权层令牌在第三方应用的存储也存在泄漏风险。

由上可见,在应用登录的过程中,如何避免出现信息被泄露或冒用的情况,提高信息的安全性,增加应用登录的效率,降低应用软件的使用和改造成本是本领域有待解决的问题。

发明内容

有鉴于此,本发明的目的在于提供一种应用登录方法、装置、设备及介质,能够有效避免出现信息被泄露或冒用的情况,提高信息的安全性,增加应用登录的效率,降低应用软件的使用和改造成本。其具体方案如下:

第一方面,本申请公开了一种应用登录方法,应用于位于用户终端的认证代理,包括:

获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息;

将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码;

发送包含所述目标授权码的访问凭据请求至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token;

将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。

可选的,所述获取通过客户端发起的针对目标应用的登录请求之前,还包括:

获取所述客户端的数字证书,并基于所述数字证书建立与所述服务端之间的传输层安全协议通道;

利用所述传输层安全协议通道获取所述服务端中的各应用信息,并将所述各应用信息保存至本地。

可选的,所述将包含目标应用信息的授权码获取请求发送至服务端,包括:

从本地的所述目标应用信息中确定出与所述目标应用对应的应用标识,并将所述应用标识添加至授权码获取请求;

将包含所述应用标识的所述授权码获取请求发送至所述服务端。

可选的,所述发送包含所述目标授权码的访问凭据请求至所述服务端,包括:

对所述目标应用信息进行签名以得到目标应用签名,并基于所述目标应用签名、所述目标应用信息以及所述目标授权码构建相应的请求信息;

利用用户密钥对所述请求信息进行签名以得到相应的访问凭据请求,并将所述访问凭据请求发送至所述服务端。

可选的,所述对所述目标应用信息进行签名以得到目标应用签名,包括:

从所述目标应用信息中确定出相应的应用密钥;

利用所述应用密钥对所述目标应用信息进行签名以得到目标应用签名。

可选的,所述利用用户密钥对所述请求信息进行签名以得到相应的访问凭据请求,包括:

基于所述客户端的数字证书从本地创建出用户私钥,并将所述用户私钥保存至本地;

利用本地的所述用户私钥对所述请求信息进行签名以得到相应的访问凭据请求。

可选的,所述获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token,包括:

当所述服务端利用所述访问凭据请求对所述目标应用签名、所述目标应用信息、所述目标授权码进行的合法性检验以及对用户的合法性校验均通过后,获取所述服务端产生的所述访问凭据token,并将所述访问凭据token保存至本地。

第二方面,本申请公开了一种应用登录装置,包括:

登录请求获取模块,用于获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息;

授权码获取请求发送模块,用于将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码;

访问凭据保存模块,用于发送包含所述目标授权码的访问凭据请求至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token;

访问凭据发送模块,用于将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。

第三方面,本申请公开了一种电子设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述的应用登录方法。

第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的应用登录方法的步骤。

可见,本申请提供了一种应用登录方法,包括获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息;将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码;发送包含所述目标授权码的访问凭据请求至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token;将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。本申请通过获取服务端发送的与所述授权码获取请求对应的目标授权码以及获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token,能够有效避免出现信息被泄露或冒用的情况,提高信息的安全性,然后将保存的所述访问凭据token发送至所述客户端,从而增加应用登录的效率,降低应用软件的使用和改造成本是本领域有待解决的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请公开的一种应用登录方法流程图;

图2为本申请公开的一种应用登录方法流程图;

图3为本申请公开的一种应用登录方法示意图;

图4为本申请提供的一种应用登录方法具体流程图;

图5为本申请公开的一种应用登录装置结构示意图;

图6为本申请提供的一种电子设备结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在当前背景下,现有的移动终端统一身份认证代理软件一般使用OAuth2.0(开放授权协议,Open Authorization)技术,该技术在第三方应用与服务提供商之间设置了一个授权层。第三方应用不能直接登录服务提供商,只能登录授权层,第三方应用登录授权层所用的令牌存在权限范围和有效期。第三方应用登录授权层以后,服务提供商根据令牌的权限范围和有效期,向第三方应用开放用户资源。第三方应用使用得到的用户资源在自身的应用系统实现单点登录。现有OAuth2.0技术在实际使用中首先需要第三方应用在服务提供商进行应用注册,获取得到应用标识和应用秘密值,用于登录授权层时对应用进行认证。服务提供商向第三方应用分发应用秘密值的过程存在被窃取风险,第三方应用在移动终端存储使用应用秘密值也存在泄漏风险。同时,第三方应用在线从服务提供商获取授权层令牌的过程存在被窃取风险,授权层令牌在第三方应用的存储也存在泄漏风险。由上可见,在应用登录的过程中,如何避免出现信息被泄露或冒用的情况,提高信息的安全性,增加应用登录的效率,降低应用软件的使用和改造成本是本领域有待解决的问题。

参见图1所示,本发明实施例公开了一种应用登录方法,应用于位于用户终端的认证代理,具体可以包括:

步骤S11:获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息。

本实施例中,在获取通过客户端发起的针对目标应用的登录请求之前,还包括:获取所述客户端的数字证书,并基于所述数字证书建立与所述服务端之间的TLS(传输层安全协议,Transport Layer Security)通道;利用所述传输层安全协议通道获取所述服务端中的各应用信息,并将所述各应用信息保存至本地。

可以理解的是,各应用在服务端注册成为合法应用,然后服务端为各应用产生应用信息,所述应用信息中包含APP ID(即应用标识)、APP Secret(即应用密钥)、应用包名以及其他应用说明信息,然后获取所述客户端的数字证书,建立所述TLS安全通道,并利用所述TLS安全通道获取各应用信息,其中,获取所述客户端的数字证书的方式包括离线获取以及在线下载获取。

步骤S12:将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码。

本实施例中,在根据所述登录请求从本地确定出相应的目标应用信息之后,从本地的所述目标应用信息中确定出与所述目标应用对应的应用标识,并将所述应用标识添加至授权码获取请求,然后将包含所述应用标识的所述授权码获取请求发送至所述服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码。

步骤S13:发送包含所述目标授权码的访问凭据请求至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token。

步骤S14:将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。

本实施例中,获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息;将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码;发送包含所述目标授权码的访问凭据请求至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token;将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。本申请通过获取服务端发送的与所述授权码获取请求对应的目标授权码以及获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token,能够有效避免出现信息被泄露或冒用的情况,提高信息的安全性,然后将保存的所述访问凭据token发送至所述客户端,从而增加应用登录的效率,降低应用软件的使用和改造成本。

参见图2所示,本发明实施例公开了一种应用登录方法,具体可以包括:

步骤S21:获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息。

步骤S22:将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码。

步骤S23:对所述目标应用信息进行签名以得到目标应用签名,并基于所述目标应用签名、所述目标应用信息以及所述目标授权码构建相应的请求信息,利用用户密钥对所述请求信息进行签名以得到相应的访问凭据请求,并将所述访问凭据请求发送至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token。

本实施例中,在获取所述服务端返回的与所述授权码获取请求对应的目标授权码之后,从所述目标应用信息中确定出相应的应用密钥,然后利用所述应用密钥对所述目标应用信息进行签名以得到目标应用签名,并基于所述目标应用签名、所述目标应用信息以及所述目标授权码构建相应的请求信息,基于所述客户端的数字证书从本地创建出用户私钥,并将所述用户私钥保存至本地,然后利用本地的所述用户私钥对所述请求信息进行签名以得到相应的访问凭据请求,并将所述访问凭据请求发送至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token。

本实施例中,在发送包含所述目标授权码的访问凭据请求至所述服务端之后,所述服务端利用所述访问凭据请求对所述目标应用签名、所述目标应用信息、所述目标授权码进行的合法性检验以及对用户的合法性校验,在合法性校验通过之后,认证代理软件获取所述服务端产生的所述访问凭据token,并将所述访问凭据token保存至本地。

步骤S24:将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。

本实施例中,获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息;将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码;对所述目标应用信息进行签名以得到目标应用签名,并基于所述目标应用签名、所述目标应用信息以及所述目标授权码构建相应的请求信息,利用用户密钥对所述请求信息进行签名以得到相应的访问凭据请求,并将所述访问凭据请求发送至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token;将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。本申请通过获取服务端发送的与所述授权码获取请求对应的目标授权码以及获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token,能够有效避免出现信息被泄露或冒用的情况,提高信息的安全性,然后将保存的所述访问凭据token发送至所述客户端,从而增加应用登录的效率,降低应用软件的使用和改造成本。

例如,如图3所示,应用1和应用2在服务端注册成为合法应用之后,代理软件通过安全通道获取服务端中应用1和应用2的应用信息,也就是APP ID(即应用标识)、APPSecret(即应用密钥)以及其他应用说明信息,并将应用信息保存至代理软件中的软件密盾,软件密盾创建了应用容器和密钥容器,然后将应用信息保存至应用容器,根据用户证书确定出用户私钥和用户公钥,并保存至软件密盾中的密钥容器。

例如,如图4所示,建立用户终端上的应用与认证代理软件之间的本地接口,然后获取通过客户端发起的针对目标应用的登录请求,认证代理软件根据登录请求弹出提示框,以询问客户端是否使用认证代理快速登录,提示框可以配置关闭,认证代理软件将包含应用标识的授权码获取请求发送至服务端,获取所述服务端返回的与所述授权码获取请求对应的目标授权码,然后基于所述目标应用签名、所述目标应用信息以及所述目标授权码构建相应的请求信息,利用非对称用户密钥对所述请求信息进行签名以得到相应的访问凭据请求,并将所述访问凭据请求发送至所述服务端,以便服务端对访问凭据请求进行合法性校验,在进行合法性校验的时候,使用签名校验函数Hmac-SM3(Hash-based MessageAuthentication Code-SM3,基于SM3的消息验证算法),例如,app_key,app_id||code,此时code为目标授权码,在校验通过后,获取所述服务端产生的所述访问凭据token,并将所述访问凭据token保存至本地,然后将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。

参见图5所示,本发明实施例公开了一种应用登录装置,具体可以包括:

登录请求获取模块11,用于获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息;

授权码获取请求发送模块12,用于将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码;

访问凭据保存模块13,用于发送包含所述目标授权码的访问凭据请求至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token;

访问凭据发送模块14,用于将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。

本实施例中,获取通过客户端发起的针对目标应用的登录请求,并根据所述登录请求从本地确定出相应的目标应用信息;将包含目标应用信息的授权码获取请求发送至服务端,并获取所述服务端返回的与所述授权码获取请求对应的目标授权码;发送包含所述目标授权码的访问凭据请求至所述服务端,然后获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token;将本地保存的所述访问凭据token发送至所述客户端,以便所述客户端基于所述访问凭据token进行相应的登录操作。本申请通过获取服务端发送的与所述授权码获取请求对应的目标授权码以及获取并保存所述服务端基于所述访问凭据请求产生的访问凭据token,能够有效避免出现信息被泄露或冒用的情况,提高信息的安全性,然后将保存的所述访问凭据token发送至所述客户端,从而增加应用登录的效率,降低应用软件的使用和改造成本。

在一些具体实施例中,所述登录请求获取模块11,具体可以包括:

通道建立模块,用于获取所述客户端的数字证书,并基于所述数字证书建立与所述服务端之间的传输层安全协议通道;

应用信息保存模块,用于利用所述传输层安全协议通道获取所述服务端中的各应用信息,并将所述各应用信息保存至本地。

在一些具体实施例中,所述授权码获取请求发送模块12,具体可以包括:

应用标识添加模块,用于从本地的所述目标应用信息中确定出与所述目标应用对应的应用标识,并将所述应用标识添加至授权码获取请求;

发送模块,用于将包含所述应用标识的所述授权码获取请求发送至所述服务端。

在一些具体实施例中,所述访问凭据保存模块13,具体可以包括:

请求信息构建模块,用于对所述目标应用信息进行签名以得到目标应用签名,并基于所述目标应用签名、所述目标应用信息以及所述目标授权码构建相应的请求信息;

访问凭据请求发送模块,用于利用用户密钥对所述请求信息进行签名以得到相应的访问凭据请求,并将所述访问凭据请求发送至所述服务端。

在一些具体实施例中,所述请求信息构建模块,具体可以包括:

应用密钥确定模块,用于从所述目标应用信息中确定出相应的应用密钥;

目标应用签名模块,用于利用所述应用密钥对所述目标应用信息进行签名以得到目标应用签名。

在一些具体实施例中,所述目标应用签名模块,具体可以包括:

密钥创建模块,用于基于所述客户端的数字证书从本地创建出用户私钥,并将所述用户私钥保存至本地;

签名模块,用于利用本地的所述用户私钥对所述请求信息进行签名以得到相应的访问凭据请求。

在一些具体实施例中,所述访问凭据发送模块14,具体可以包括:

合法性校验模块,用于当所述服务端利用所述访问凭据请求对所述目标应用签名、所述目标应用信息、所述目标授权码进行的合法性检验以及对用户的合法性校验均通过后,获取所述服务端产生的所述访问凭据token,并将所述访问凭据token保存至本地。

图6为本申请实施例提供的一种电子设备的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的应用登录方法中的相关步骤。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的应用登录方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括应用登录设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的应用登录方法步骤。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种应用登录方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种登录移动应用的方法、移动终端、电子设备及存储介质
  • 登录验证方法、装置及设备、介质
  • 基于压力感应的登录验证方法、装置、存储介质电子设备
  • 指纹识别登录验证方法、装置、存储介质及电子设备
  • 基于指纹识别的登录验证方法、装置、存储介质及电子设备
  • 应用登录方法、应用登录装置、存储介质和系统
  • 账户登录方法、登录装置、账户登录设备及存储介质
技术分类

06120116230991