CN117176371A - 应用登录方法、装置、电子设备和计算机可读存储介质 - Google Patents

应用登录方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN117176371A
CN117176371A CN202210594546.9A CN202210594546A CN117176371A CN 117176371 A CN117176371 A CN 117176371A CN 202210594546 A CN202210594546 A CN 202210594546A CN 117176371 A CN117176371 A CN 117176371A
Authority
CN
China
Prior art keywords
login
application
information
target object
authorized
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.)
Pending
Application number
CN202210594546.9A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210594546.9A priority Critical patent/CN117176371A/zh
Publication of CN117176371A publication Critical patent/CN117176371A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种应用登录方法、装置、电子设备和计算机可读存储介质,相关实施例可应用于云技术、云安全、人工智能、智慧交通、辅助驾驶等各种场景。本发明实施例在接收在第一应用中登录的目标对象针对第二应用的单点登录请求后,根据单点登录请求,确定目标对象登录第二应用的登录标识。然后,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息。将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证。然后,接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象;该方案可以提升应用登录的安全性。

Description

应用登录方法、装置、电子设备和计算机可读存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种应用登录方法、装置、电子设备和计算机可读存储介质。
背景技术
近年来,随着互联网技术的飞速发展,越来越多的业务可以在线上进行处理。为了便捷的引导线上业务的处理,往往可以通过的导流的方式采用单向联邦信任身份体系下,从其他应用(被信任方应用)上可以直接登录业务应用(被授权方应用)。现有的应用登录方式往往让业务方无条件的信任导流方,即业务应用直接信任且默认给导流方跳转的对象直接登录。
在对现有技术的研究和实践过程中,本发明的发明人发现对于现有的应用登录方法来说,业务方必须信任导流方,对导流方缺乏鉴别能力,一旦导流方出现问题,业务方往往存在较大的风险和损失,因此,导致应用登录的安全性较低。
发明内容
本发明实施例提供一种应用登录方法、装置、电子设备和计算机可读存储介质,可以提高应用登录的安全性。
一种应用登录方法,包括:
接收在第一应用中登录的目标对象针对第二应用的单点登录请求;
根据所述单点登录请求,确定所述目标对象登录所述第二应用的登录标识;
将所述登录标识发送至授权服务器,并接收所述授权服务器返回的基于所述登录标识生成的授权登录信息;
将所述授权登录信息发送至所述第二应用的应用服务器,以便所述应用服务器将所述授权登录信息发送至所述授权服务器进行验证;
接收所述应用服务器返回的验证结果,并基于所述验证结果,在所述第二应用上登录所述目标对象。
可选的,本申请实施例还提供另一种应用登录方法,包括:
接收终端发送的第一应用中登录的目标对象的授权登录信息;
根据所述授权登录信息,生成所述目标对象登录第二应用的待验证信息;
将所述待验证信息发送至授权服务器,以便所述授权服务器对所述待验证信息进行验证;
接收所述授权服务器返回的验证结果,并将所述验证结果发送至所述终端,以便所述终端在所述第二应用中登录所述目标对象。
相应的,本发明实施例提供一种应用登录装置,包括:
第一接收单元,用于接收在第一应用中登录的目标对象针对第二应用的单点登录请求;
确定单元,用于根据所述单点登录请求,确定所述目标对象登录所述第二应用的登录标识;
授权单元,用于将所述登录标识发送至授权服务器,并接收所述授权服务器返回的基于所述登录标识生成的授权登录信息;
第一验证单元,用于将所述授权登录信息发送至所述第二应用的应用服务器,以便所述应用服务器将所述授权登录信息发送至所述授权服务器进行验证;
第一登录单元,用于接收所述应用服务器返回的验证结果,并基于所述验证结果,在所述第二应用上登录所述目标对象。
可选的,本申请实施例还可以提供另一种应用登录装置,包括:
第二接收单元,用于接收终端发送的第一应用中登录的目标对象的授权登录信息;
生成单元,用于根据所述授权登录信息,生成所述目标对象登录第二应用的待验证信息;
第二验证单元,用于将所述待验证信息发送至授权服务器,以便所述授权服务器对所述待验证信息进行验证;
第二登录单元,用于接收所述授权服务器返回的验证结果,并将所述验证结果发送至所述终端,以便所述终端在所述第二应用中登录所述目标对象。
可选的,在一些实施例中,所述确定单元,具体可以用于根据所述单点登录请求,获取所述目标对象的历史应用登录记录;基于所述历史应用登录记录,确定所述目标对象在所述第一应用中的登录类型;根据所述登录类型,构建所述目标对象登录所述第二应用的登录标识。
可选的,在一些实施例中,所述确定单元,具体可以用于在所述历史应用登录记录中查询所述第二应用的应用标识;当不存在所述应用标识时,确定所述目标对象在所述第一应用中的登录类型为首次登录;当存在所述应用标识时,确定所述目标对象在所述第一应用中的登录类型为非首次登录。
可选的,在一些实施例中,所述确定单元,具体可以用于当所述登录类型为首次登录时,基于所述目标对象的对象信息,生成所述目标对象登录所述第二应用的登录标识;当所述登录类型为非首次登录时,获取所述第一应用中的历史授权登录标识集合,并在所述历史授权登录标识集合中筛选出所述目标对象对应的历史授权登录标识,并将所述历史授权登录标识作为所述目标对象登录所述第二应用的登录标识。
可选的,在一些实施例中,所述确定单元,具体可以用于将所述目标对象的对象信息发送至所述第一应用的当前应用服务器,以便所述当前应用服务器在所述对象信息中提取出至少一个对象标识,并对所述对象标识进行加密;接收所述当前应用服务器返回的加密后对象信息,并将所述加密后对象信息作为所述目标对象登录所述第二应用的登录标识。
可选的,在一些实施例中,所述授权单元,具体可以用于根据所述单点登录请求,调用所述第二应用对应的登录授权接口,并基于所述登录授权接口,将所述登录标识发送至所述授权服务器;当所述登录标识为所述加密后对象标识时,接收所述授权服务器返回的授权登录信息,所述授权登录信息包括所述授权服务器基于所述加密后对象标识生成的授权登录标识和基于所述授权登录标识生成的单次登录票据;当所述登录标识为所述历史授权登录标识时,接收所述授权服务器返回的授权登录信息,所述授权登录信息包括所述历史授权登录标识和基于所述历史授权登录标识生成的单次登录票据。
可选的,在一些实施例中,所述第一验证单元,具体可以用于根据所述授权登录信息,生成针对所述第二应用的应用跳转请求;基于所述应用跳转请求,将所述授权登录信息发送至所述第二应用的应用服务器,以便所述应用服务器基于所述授权登录信息生成目标对象的待验证信息,并将所述待验证信息发送至所述授权服务器进行验证。
可选的,在一些实施例中,所述第一登录单元,具体可以用于当所述验证结果为验证通过时,在所述第二应用上登录所述目标对象;当所述验证结果为验证未通过时,获取所述目标对象针对所述第二应用的目标登录信息,并对所述目标登录信息进行验证,以在所述第二应用上登录所述目标对象。
可选的,在一些实施例中,所述第一接收单元,具体可以用于接收所述目标对象针对所述第一应用的登录请求,所述登录请求携带所述目标对象的当前登录信息;将所述当前登录信息发送至所述第一应用的当前应用服务器,并接收所述当前应用服务器返回的针对所述当前登录信息的当前验证结果;当当前验证结果为验证通过时,在所述第一应用中登录所述目标对象。
可选的,在一些实施例中,所述生成单元,具体可以用于获取所述目标对象在第一应用中的登录类型;当所述登录类型为首次登录时,对所述目标对象的对象信息进行加密,并将加密后对象信息添加至所述授权登录信息,得到所述目标对象登录所述第二应用的待验证信息;当所述登录类型为非首次登录时,根据所述授权登录信息,确定所述目标对象针对所述第二应用的登录结果类型,并基于所述登录结果类型和授权登录信息,生成所述目标对象登录所述第二应用的待验证信息。
可选的,在一些实施例中,所述生成单元,具体可以用于在所述授权登录信息中提取出所述目标对象的授权对象标识;获取所述第二应用的历史对象登录记录,并在所述历史对象登录记录中查询所述授权对象标识;当存在所述授权对象标识时,确定所述目标对象针对所述第二应用的登录结果类型为历史登录成功;当不存在所述授权登录标识时,确定所述目标对象针对所述第二应用的登录结果类型为历史登录失败。
可选的,在一些实施例中,所述生成单元,具体可以用于当所述登录结果类型为历史登录成功时,在所述授权登录信息中提取出单次登录票据,并将所述单次登录票据作为所述待验证信息;当所述登录结果类型为历史登录失败时,对所述目标对象的对象信息进行加密,并将加密后对象信息添加至所述授权登录信息,得到所述待验证信息。
此外,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本发明实施例提供的应用登录方法。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种应用登录方法中的步骤。
本发明实施例在接收在第一应用中登录的目标对象针对第二应用的单点登录请求后,根据单点登录请求,确定目标对象登录第二应用的登录标识,然后,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息,将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证,然后,接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象;由于该方案在第一应用中的目标对象跳转登录第二应用的过程中,引入了第三方的授权服务,通过授权服务器生成授权登录信息,并基于授权登录信息进行登录验证,从而完成单点登录,因此,可以提升应用登录的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用登录系统的系统示意图;
图2是本发明实施例提供的应用登录方法的场景示意图;
图3是本发明实施例提供的应用登录方法的流程示意图;
图4是本发明实施例提供的应用单点登录流程的整体流程示意图;
图5是本发明实施例提供的应用登录框架的示意图;
图6是本发明实施例提供的应用登录方法的另一流程示意图;
图7是本发明实施例提供的首次单点登录的整体登录逻辑的示意图;
图8是本发明实施例提供的非首次单点登录的整体登录逻辑的示意图;
图9是本发明实施例提供的应用登录方法的另一流程示意图;
图10是本发明实施例提供的第一应用登录装置的结构示意图;
图11是本发明实施例提供的第二应用登录装置的结构示意图;
图12是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种应用登录方法、装置、电子设备和计算机可读存储介质。其中,该应用登录装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。具体的,本发明实施例提供适用于第一电子设备的应用登录装置(为了区分可以称为第一应用登录装置)中,以及适用于第二电子设备的应用登录装置(为了区分可以称为第二应用登录装置)。其中,第一电子设备可以为终端等设备,终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,但并不局限于此。第二电子设备可以为服务器等网络侧设备,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本发明实施例可应用于各种场景,包括但不限于云技术、云安全、人工智能、智慧交通、辅助驾驶等。
本发明实施例将第一电子设备为终端,第二电子设备为服务器为例,为了区别授权服务器,第二电子设备可以为目标应用的应用服务器,来介绍应用登录方法。
例如,参见图1,本发明实施例提供了应用登录系统包括终端10、授权服务器20和应用服务器30;终端10与授权服务器20和应用服务器30之前通过网络连接,比如,可以通过有线或无线网络连接等,其中,应用登录装置可以集成在终端,比如,以客户端的形式集成在终端中。
其中,终端10,可以用于接收在第一应用中登录的目标对象针对第二应用的单点登录请求后,根据单点登录请求,确定目标对象登录第二应用的登录标识,然后,将登录标识发送至授权服务器20,并接收授权服务器20返回的基于登录标识生成的授权登录信息,将授权登录信息发送至第二应用的应用服务器30,以便应用服务器30将授权登录信息发送至授权服务器20进行验证,然后,接收应用服务器30返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象,进而提升应用登录的安全性,具体可以如图2所示。
其中,终端10可以将授权登录信息发送至第二应用的应用服务器30,以便应用服务器30生成待验证信息,并将待验证信息发送至授权服务器20进行验证,验证的方式可以有多种,应用服务器30具体可以如下:
接收终端10发送的第一应用中登录的目标对象的授权登录信息,根据授权登录信息,生成目标对象登录第二应用的待验证信息,将待验证信息发送至授权服务器20,以便授权服务器20对待验证信息进行验证,然后,接收授权服务器返回的验证结果,并将验证结果发送至终端10,以便终端10在第二应用中登录目标对象,进而提升应用登录的安全性。
其中,可以理解的是,在本申请的具体实施方式中,涉及到对象的对象信息或对象标识等相关数据,当本申请以下实施例运用到具体产品或技术中时,需要获得许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从第一应用登录装置的角度进行描述,该第一应用登录装置具体可以集成在电子设备中,该电子设备可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算机(PC,Personal Computer)、可穿戴设备、虚拟现实设备或其他可以登录应用的智能设备等设备。
一种应用登录方法,包括:
接收在第一应用中登录的目标对象针对第二应用的单点登录请求,根据单点登录请求,确定目标对象登录第二应用的登录标识,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息,将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证,接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象。
如图3所示,该应用登录方法的具体流程如下:
101、接收在第一应用中登录的目标对象针对第二应用的单点登录请求。
其中,单点登录请求为针对应用进行单点登录的登录请求,所谓单点登录(SingleSign On,SSO)为在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
其中,接收在第一应用中登录的目标对象针对第二应用的单点登录请求的方式可以有多种,具体可以如下:
例如,可以显示第一应用中的业务引导页面,该业务引导页面中可以包括候选业务应用的应用列表,响应于针对应用列表的选择操作,显示选择操作对应的第二应用的登录页面,该登录页面包括登录控件,响应于针对登录控件的触发操作,接收目标对象针对第二应用的单点登录请求,或者,还可以显示第一应用中的业务引导页面,该业务引导页面包括第二应用的登录控件,响应于针对登录控件的触发操作,接收目标对象针对第二应用的单点登录请求。
其中,响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
可选的,在接收在第一应用中登录的目标对象针对第二应用的单点登录请求之前,还可以在第一应用中登录目标对象,在第一应用中登录目标对象的方式可以有多种,比如,可以接收目标对象针对第一应用的登录请求,该登录请求携带目标对象的当前登录信息,将当前登录信息发送至第一应用的当前应用服务器,并接收当前应用服务器返回的针对当前登录信息的当前验证结果,当当前验证结果为验证通过时,在第一应用中登录目标对象。
其中,当前登录信息可以理解为目标对象在登录第一应用时输入的账号、密码或者动态口令的信息。因此,目标对象在登录第一应用时,由第一应用的当前应用服务器对目标对象的对象身份进行验证,验证的方式可以有多种,比如,可以采用密码、动态口令或者验证码等方式进行验证。
其中,接收目标对象针对第一应用的登录请求的方式可以有多种,比如,可以显示第一应用的当前登录页面,该当前登录页面包括登录信息输入控件,接收目标对象通过登录信息输入控件的输入的当前登录信息,从而基于当前登录信息生成登录请求。
102、根据单点登录请求,确定目标对象登录第二应用的登录标识。
其中,登录标识可以理解为在登录第二应用时指示目标对象身份的标识信息,该当前登录标识可以为对象标识加密后的标识或者与加密后对象标识存在关联关系的标识信息。
其中,根据单点登录请求,确定目标对象登录第二应用的登录标识的方式可以有多种,具体可以如下:
例如,可以根据单点登录请求,获取目标对象的历史应用登录记录,基于历史应用登录记录,确定目标对象在第一应用中的登录类型,根据登录类型,构建目标对象登录第二应用的登录标识。
其中,历史应用登录记录可以为目标对象在第一应用中登录其他应用的历史登录记录。
其中,登录类型用于指示目标对象在第一应用中登录第二应用的登录频次,该登录类型可以包括首次登录和非首次登录,所谓首次登录就是目标对象在第一应用中第一次登录第二应用,而非首次登录就是当前目标对象在第一应用中登录第二应用的频次为第二次或者第n次,n为大于1的正整数。基于历史应用登录记录,确定目标对象在第一应用中的登录类型的方式可以有多种,比如,可以在历史应用登录记录中查询第二应用的应用标识,当不存在应用标识时,确定目标对象在第一应用中的登录类型为首次登录,当存在应用标识时,确定目标对象在第一应用中的登录类型为非首次登录。
在确定目标对象在当前应用中的登录类型之后,便可以构建目标对象登录第二应用的登录标识,构建登录标识的方式可以有多种,比如,当登录类型为首次登录时,基于目标对象的对象信息,生成目标对象登录第二应用的登录标识,当登录类型为非首次登录时,获取第一应用中的历史授权登录标识集合,并在历史授权登录标识集合中筛选出目标对象对应的历史授权登录标识,并将历史授权登录标识作为目标对象登录第二应用的登录标识。
其中,当登录类型为首次登录时,也就意味着第一应用中并未存储目标对象的登录标识,因此,就需要生成目标对象登录第二应用的登录标识,生成登录标识的方式可以有多种,比如,将目标对象的对象信息发送至第一应用的当前应用服务器,以便当前应用服务器在对象信息中提取出至少一个对象标识,并对对象标识进行加密,接收当前应用服务器返回的加密后对象信息,并将加密后对象信息作为目标对象登录目标应用的登录标识。
其中,对象标识(uniqueID)可以为指示对象身份的标识,对象标识的类型可以有多种,比如,可以为身份ID、联系方式或者其他身份标识。对对象标识进行加密的方式可以有多种,比如,可以采用国密算法(SM3,单向散列算法或者哈希算法)对对象标识进行加密,加密过程可以如公式(1)所示:
sec(uniqueID)=SM3(uniqueID,salt)(1)
其中,sec(uniqueID)为加密后对象标识,uniqueID为对象标识,salt为当前应用与目标应用之间提前预置好的一个随机数或者一种计算方法,比如,salt=当前时间utc秒数+X,等等。
其中,对于多个维度的对象标识,也可以采用类似的算法进行加密,比如,以对象标识为2个为例,加密过程就可以为sec(uniqueID1,uniqueID2)=SM3(uniqueID1,uniqueID2,salt),对于三个或者N个维度的对象标识,也可以参考上述式子进行类推。
其中,历史授权登录标识(user One ID)可以理解为目标对象在历史登录第二应用的过程中,授权服务器基于目标对象的加密后对象信息生成的登录标识。也就意味着,当目标对象在第一应用中历史的第一次登录过程中,就会加密后对象信息发送至授权服务器,授权服务器就可以基于加密后对象信息生成历史授权登录标识,并将历史授权登录标识发送至第一应用对应的终端或当前应用服务器,此时,终端或当前应用服务器中就会存储该历史授权登录标识,然后,当目标对象在第一应用中再次登录第二应用时,就可以直接将存储的历史授权登录标识作为目标对象登录第二应用的登录标识。
103、将登录标识发送至授权服务器,并接收收取服务器返回的基于登录标识生成的授权登录信息。
其中,授权登录信息为用于授权目标对象登录第二应用的信息,该授权登录信息可以包括目标对象登录第二应用的单次登录票据和授权登录标识/历史授权登录标识。
其中,单次登录票据可以理解为授权服务器对目标对象登录目标应用的登录进行授权登录的票据,该登录票据具有时限性,通常为单次登录有效,也就是意味着用于该单次登录票据登录一次之后,该单次登录票据便失效。
其中,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息的方式可以有多种,具体可以如下:
例如,可以根据单点登录请求,调用第二应用对应的登录授权接口,并基于登录授权接口,将登录标识发送至授权服务器,当登录标识为加密后对象标识时,接收授权服务器返回的授权登录信息,该授权登录信息包括授权服务器基于所述加密后对象标识生成的授权登录标识和基于授权登录标识生成的单次登录票据;当登录标识为历史授权登录标识时,接收授权服务器返回的授权登录信息,该授权登录信息包括历史授权登录标识和基于历史收取登录标识生成的单次登录票据。
其中,登录授权接口为传递登录标识(sec(uniqueID))到第三方授权服务的接口,基于登录授权接口,将登录标识发送至授权服务的方式可以有多种,比如,可以通过登录授权接口,将登录标识发送至第一应用的当前应用服务器,以便当前应用服务器将登录标识发送至授权服务器,或者,还可以通过登录授权接口,将登录标识直接发送至授权服务器。
其中,根据对象标识的类型不同,授权服务器生成授权登录信息的方式也不同,当登录标识为加密后对象标识时,也就意味着目标对象为在第一应用中首次登录第二应用,此时,授权服务器就需要基于接收到的加密后对象标识生成第三方授权服务的授权登录标识(userOneID),还可以建立userOneID与sec(uniqueID)与被信任方之间的关系。当登录标识为历史授权登录标识时,也就意味着目标对象在第一应用中曾经登录过第二应用,因此,第三方授权服务的授权服务器在历史登录过程中已经基于目标对象的加密后对象标识生成了历史授权登录标识,此时,在当前登录过程中,授权服务器就不需要再生成授权登录标识,就只需要根据历史授权登录标识生成单次登录票据即可。授权服务器在基于授权登录标识或历史授权登录标识(历史授权登录标识就是首次登录时生成的授权登录标识)生成单次登录票据(ticket)之后,还可以在缓存中建立与userOneID之间关系,然后,将单次登录票据和userOneID作为授权登录信息返回至第一应用的当前服务器或终端。
104、将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证。
例如,可以根据授权登录信息,生成针对第二应用的应用跳转请求,基于应用跳转请求,将授权登录信息发送至第二应用的应用服务器,以便应用服务器基于授权登录信息生成目标对象的待验证信息,并将待验证信息发送至授权服务器进行验证。
其中,待验证信息为用于授权服务器对第二应用的应用服务器针对目标对象进行登录时需要验证的信息。
105、接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录目标对象。
例如,可以接收应用服务器返回的验证结果,当验证结果为验证通过时,在第二应用上登录目标对象,当验证结果为验证未通过时,获取目标对象针对第二应用的目标登录信息,并对目标登录信息进行验证,以在第二应用上登录目标对象。
其中,当验证结果为验证通过时,就可以确定第一应用中的目标对象与第二应用中建立的待登录对象为同一对象,且本次单点登录成功,此时,就可以直接在第二应用中登录目标对象。当验证结果为验证失败时,就可以确定第一应用中的目标对象与第二应用中建立的待登录对象不是同一对象,且本次单点登录失败,该用户进行第二应用中还需要再次执行第二应用的登录逻辑进行判断。在判断的过程中,判断的主体就可以为目标对象针对第二应用的目标登录信息,所谓目标登录信息,就可以为目标对象在执行登录第二应用的过程中输入的登录信息,该登录信息可以包括目标对象登录第二应用的账号、密码或其他用于登录的信息。对目标登录信息进行验证的方式可以有多种,比如,将目标登录信息发送至第二应用的应用服务器,以便应用服务器对目标登录信息进行验证,并接收应用服务器返回的验证结果,当验证结果为验证通过时,就可以在第二应用上登录目标对象。
可选的,在一实施例中,该应用登录装置还包括将授权登录信息或授权登录信息中的单次登录票据存储至区块链上。
其中,在应用登录的过程中,可以看作是目标对象在登录第一应用的前提下,在第一应用中跳转登录第二应用,以第一应用为被信任方应用,第二应用为被授权方应用为例,整体的应用单点登录流程就可以如图4所示,用户登录被信任方应用,被信任方应用对用户进行身份验证,在被信任方应用对用户身份验证通过之后,将会想第三方授权服务获取单点登录票据,第三方授权服务器会给被信任方的当前登录用户颁发单点登录票据,用户在被信任方应用中发起单点登录到被授权方应用,被授权方应用得到用户携带的单点登录票据之后会想第三方授权服务请求验证,第三方授权服务会向被授权方返回单点登录票据验证结果,被授权方在收到票据验证结果之后判断是否允许用户自动登录到被授权方应用中。在应用单点登录流程中,一共涉及到四个角色定义,用户、被信任方、被授权方和第三方授权服务,基于这四个角色定义,构建的应用登录框架可以如图5所示,针对被信任方应用和被授权方应用分为前端和后端服务,前端可以有多种形态,比如,可以包括应用程序(APP)、小程序和网页应用(web)等。
由以上可知,本申请实施例在接收在第一应用中登录的目标对象针对第二应用的单点登录请求后,根据单点登录请求,确定目标对象登录第二应用的登录标识,然后,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息,将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证,然后,接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象;由于该方案在第一应用中的目标对象跳转登录第二应用的过程中,引入了第三方的授权服务,通过授权服务器生成授权登录信息,并基于授权登录信息进行登录验证,从而完成单点登录信任,因此,可以提升应用登录的安全性。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将从第二应用登录装置的角度进行描述,该第二应用登录装置具体可以集成在电子设备中,以该电子设备为安全服务器,安全服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
一种应用登录方法,包括:
接收终端发送的第一应用中登录的目标对象的授权登录信息,根据授权登录信息,生成目标对象登录第二应用的待验证信息,将待验证信息发送至授权服务器,以便授权服务器对待验证信息进行验证,接收授权服务器返回的验证结果,并将验证结果发送至终端,以便终端在所述第二应用中登录所述目标对象。
如图6所示,该应用登录方法,具体流程如下:
201、接收终端发送的第一应用中登录的目标对象的授权登录信息。
例如,可以直接接收终端发送的第一应用中登录的目标对象的登录信息,或者,还可以接收终端发送的第一应用对应的应用跳转请求,在该应用跳转请求中提取出第一应用中登录的目标对象的授权登录信息,或者,当授权登录信息的数量较多或者内存较大时,还可以接收终端发送的第一应用对应的应用跳转请求,该应用跳转请求中携带授权登录信息的存储地址,基于该存储地址,获取第一应用中登录的目标对象登录第二应用的授权登录信息。
202、根据授权登录信息,生成目标对象登录第二应用的待验证信息。
其中,待验证信息为用于授权服务器对第二应用的应用服务器针对目标对象进行登录时需要验证的信息。
其中,根据授权登录信息,生成目标对象登录第二应用的待验证信息的方式可以有多种,具体可以如下:
例如,可以获取目标对象在第一应用中的登录类型,当登录类型为首次登录时,对目标对象的对象信息进行加密,并将加密后对象信息添加至所述授权登录信息,得到目标对象登录第二应用的待验证信息,当登录类型为非首次登录时,根据授权登录信息,确定目标对象针对第二应用的登录结果类型,并基于登录结果类型和授权登录信息,生成目标对象登录第二应用的待验证信息。
其中,登录结果类型为指示目标对象在第一应用中跳转登录第二应用的登录结果,登录结果类型可以包括历史登录成功和历史登录失败。所谓历史登录成功就可以理解为在目标对象在历史阶段成功在第二应用中进行登录,与之对应的历史登录失败就可以理解为目标对象在历史阶段未能成功在第二应用中进行登录。根据授权登录信息,确定目标对象针对第二应用的登录结果类型的方式可以有多种,比如,在授权登录信息中提取出目标对象的授权对象标识,获取第二应用的历史登录对象登录记录,并在历史对象登录记录中查询授权对象标识,当存在授权对象标识时,确定目标对象针对第二应用的登录结果类型为历史登录成功,当不存在授权登录标识时,确定目标对象针对第二应用的登录结果类型为历史登录失败。
在确定出目标对象针对第二应用的登录结果类型之后,便可以基于登录结果类型和授权登录信息,生成目标对象登录第二应用的待验证信息,生成待验证信息的方式可以有多种,比如,当登录结果类型为历史登录成功时,在授权登录信息中提取出单次登录票据,并将单次登录票据作为待验证信息,当登录结果类型为历史登录失败时,对目标对象的对象信息进行加密,并将加密后对象信息添加至授权登录信息,得到待验证信息。
其中,当登录结果类型为历史登录成功时,就说明首次或者在当前之前的登录过程中,目标对象成功登录过第二应用,此时,就可以直接去第三方授权服务的授权服务器验证单次登录票据(ticket)的有效性即可,当登录结果类型为历史登录失败或者首次登录时,就需要对目标对象的对象信息进行加密,得到加密后对象信息sec(uniqueID)1,加密的过程可以参见上文,在此就不再一一赘述。然后,将加密后对象信息添加至授权登录信息中,以便授权服务器对加密后对象信息、授权登录标识/历史授权登录标识和单次登录票据进行验证。
203、将待验证信息发送至授权服务器,以便授权服务器对待验证信息进行验证。
其中,将待验证信息发送至授权服务器的方式可以有多种,具体可以如下:
例如,可以直接将待验证信息发送至授权服务器,或者,基于待验证信息,触发生成验证请求,在该验证请求中添加待验证信息,然后,将验证请求发送至授权服务器,或者,当待验证信息的数量较多或者内存较大时,基于待验证信息,触发生成验证请求,然后,在验证请求中添加待验证信息的存储地址,然后,将验证请求发送至授权服务器,以便授权服务器在验证请求中提取出存储地址,然后,基于该存储地址获取待验证信息。
在将待验证信息发送至授权服务器之后,授权服务器便可以对待验证信息进行验证,验证的方式可以有多种,比如,当待验证信息为单次登录票据时,授权服务器直接验证该单次登录票据的有效性,当单次登录票据有效时,就可以确定待验证信息验证通过,即目标对象登录成功,当单次登录票据失效或无效时,就可以确定待验证信息验证未通过,即目标对象登录失败。当待验证信息为添加加密后对象信息的授权登录信息时,就意味着目标对象为首次登录或者历史登录失败,授权服务器就需要判断待验证信息中包含的加密后对象信息sec(uniqueID)1、授权登录标识/历史授权登录标识(userOneID)和单次登录票据(ticket)是否与自身记录的ticket、userOneID和sec(uniqueID)是否匹配,当匹配成功时,就可以确定待验证信息验证通过,即目标对象登录成功,当匹配失败时,就可以确定待验证信息验证未通过,即目标对象登录失败。然后,授权服务器将待验证信息的验证结果返回至第二应用的应用服务器。
204、接收授权服务器返回的验证结果,并将验证结果发送至终端,以便终端在第二应用中登录目标对象。
其中,接收授权服务器返回的验证结果的方式可以有多种,具体可以如下:
例如,可以直接接收授权服务器返回的验证结果,或者,还可以接收授权服务器的验证反馈请求,然后,基于验证反馈请求,从授权服务器拉取待验证信息的验证结果。
在获取验证结果之后,便可以将验证结果发送至终端,以便终端在第二应用中登录目标对象,比如,可以直接将验证结果发送至终端,终端在接收到验证结果后,就可以基于验证结果,在第二应用中登录目标对象。
其中,终端基于验证结果,在第二应用中登录目标对象的过程具体可以参见上文所述,在此就不再一一赘述。
可选的,在一实施例中,该应用登录装置还包括将待验证信息存储至区块链上。
其中,在应用登录过程中,对于第三方授权服务来说,授权服务器无需获取目标对象的对象标识(uniqueID),只需要获取到加密后对象标识sec(uniqueID)即可。uniqueID具体代表啥含义是第一应用(被信任方)和第二应用(被授权方)之间协商好的;被第一应用(被信任方)和第二应用(被授权方)只需要都按照固定字段extID=sec(uniqueID)与第三方授权服务的授权服务器通信即可。另外,授权服务器需要生成授权登录标识(userOneID),毕竟每次第一应用(被信任方)和第二应用(被授权方)都传递sec(uniqueID)也不利于系统快速交互,所以为了减少计算步骤,第三方授权服务在目标对象首次单点登录时会建立userOneID和sec(uniqueID)之间的关系,后续目标对象再次登录均使用userOneID来进行登录。
其中,在目标对象进行应用登录的过程中,目标对象在第一应用中的登录类型不同,与之对应的针对第二应用的单点登录方式也存在不同,以第一应用为被信任方应用,第二应用为被授权方应用为例,目标对象首次单点登录被授权方应用的整体登录逻辑可以如图7所示,目标对象非首次单点登录被授权方应用的整体登录逻辑可以如图8所示,可以发现,主要存在两个地方不同,一个是在首次单点登录时,用户在发起到被授权方登录时,被信任方的后端服务会根据对象(uniqueID)来计算身份证哈希即sec(uniqueID),从而得到加密后对象标识,然后,将加密后对象标识作为登录标识传递至授权服务器,而在非首次单点登录时,被信任方会直接将自身存储的userOneID发起单点登录,从而将userOneID作为登录标识,相对应的授权服务器在首次单点登录时,需要根据加密后对象标识生成userOneID,然后,再根据userOneID生成单点登录票据(ticket);另一个是在被授权方应用的应用服务器生成目标对象的待验证信息时不同,首次单点登录时,被授权方应用的应用服务器需要对目标对象的对象标识进行加密,得到sec(uniqueID),将sec(uniqueID)、userOneID和ticket发送至授权服务器进行验证,而非首次单点登录时,好需要根据userOneID判断目标对象是否首次或历史登录成功被授权方应用,当登录成功时,就可以将ticket作为待验证信息发送至授权服务器进行有效性验证,当登录失败时,就需要对目标对象的对象标识进行加密,得到sec(uniqueID),将sec(uniqueID)、userOneID和ticket作为待验证信息进行验证。
其中,在整个应用登录过程中,引入独立的第三方授权服务,由第三方授权服务来做票据的授权处理以及userOneID与用户uniqueID的关联,避免信任方权利太大,造成风险;同时由于引入了独立第三方,后续把这个模型扩展为一个信任方,多个被授权方的模式,也是比较容易,且利于扩展的,另外,对目标对象的敏感信息采用加密的方式进行处理,而且在加密过程中,可以支持多字段组合,更加灵活,可以应对更多应用场景,还避免对象信息的泄露,被信任方和被授权方无需知道目标对象真实的信息;同时第三方授权服务也不知道目标对象的真实信息,避免第三方授权服务对于目标对象的对象信息的泄露。
由以上可知,本申请实施例在接收终端发送的第一应用中登录的目标对象的授权登录信息后,根据授权登录信息,生成目标对象登录第二应用的待验证信息,将待验证信息发送至授权服务器,以便授权服务器对待验证信息进行验证,然后,接收授权服务器返回的验证结果,并将验证结果发送至终端,以便终端在第二应用中登录所述目标对象;由于该方案在第一应用中的目标对象跳转登录第二应用的过程中,引入了第三方的授权服务,通过授权服务器对目标对象的待验证信息进行登录验证,从而完成单点登录,因此,可以提升应用登录的安全性。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该第一应用登录装置集成在终端,第二应用装置集成在应用服务器,第一应用为被信任方应用,第二应用为被授权方应用为例进行说明。
如图9所示,一种应用登录方法,具体流程如下:
301、终端在被信任方应用中登录目标对象。
例如,终端显示被信任方应用的当前登录页面,该当前登录页面包括登录信息输入控件,接收目标对象通过登录信息输入控件的输入的当前登录信息,从而基于当前登录信息生成登录请求。在登录请求中提取出目标对象的当前登录信息,将当前登录信息发送至被信任方应用的当前应用服务器,以便当前应用服务器采用密码、动态口令或者验证码等方式进行验证,并接收当前应用服务器返回的针对当前登录信息的当前验证结果,当当前验证结果为验证通过时,在被信任方应用中登录目标对象。
302、终端接收在被信任方应用中登录的目标对象针对被授权方应用的单点登录请求。
例如,终端可以显示被信任方应用中的业务引导页面,该业务引导页面中可以包括候选业务应用的应用列表,响应于针对应用列表的选择操作,显示选择操作对应的被授权方应用的登录页面,该登录页面包括登录控件,响应于针对登录控件的触发操作,接收目标对象针对被授权方应用的单点登录请求,或者,还可以显示被信任方应用中的业务引导页面,该业务引导页面包括被授权方应用的登录控件,响应于针对登录控件的触发操作,接收目标对象针对被授权方应用的单点登录请求。
303、终端根据单点登录请求,确定目标对象登录被授权方应用的登录标识。
例如,终端可以根据单点登录请求,获取目标对象的历史应用登录记录,在历史应用登录记录中查询被授权方应用的应用标识,当不存在应用标识时,确定目标对象在被信任方应用中的登录类型为首次登录,当存在应用标识时,确定目标对象在被信任方应用中的登录类型为非首次登录。
当登录类型为首次登录时,终端将目标对象的对象信息发送至被信任方应用的当前应用服务器,以便当前应用服务器在对象信息中提取出至少一个对象标识,并对对象标识采用国密算法(SM3,单向散列算法或者哈希算法)对对象标识进行加密。接收当前应用服务器返回的加密后对象信息,并将加密后对象信息作为目标对象登录目标应用的登录标识。
当登录类型为非首次登录时,终端获取被信任方应用中的历史授权登录标识集合,并在历史授权登录标识集合中筛选出目标对象对应的历史授权登录标识(userOneID),并将历史授权登录标识作为目标对象登录被授权方应用的登录标识。
304、终端将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息。
例如,终端可以根据单点登录请求,调用被授权方应用对应的登录授权接口。通过登录授权接口,将登录标识发送至被信任方应用的当前应用服务器,以便当前应用服务器将登录标识发送至授权服务器,或者,还可以通过登录授权接口,将登录标识直接发送至授权服务器。
当登录标识为加密后对象标识时,也就意味着目标对象为在被信任方应用中首次登录被授权方应用,此时,授权服务器就需要基于接收到的加密后对象标识生成第三方授权服务的授权登录标识(userOneID),还可以建立userOneID与sec(uniqueID)与被信任方之间的关系。当登录标识为历史授权登录标识时,也就意味着目标对象在被信任方应用中曾经登录过被授权方应用,因此,第三方授权服务的授权服务器在历史登录过程中已经基于目标对象的加密后对象标识生成了历史授权登录标识,此时,在当前登录过程中,授权服务器就不需要再生成授权登录标识,就只需要根据历史授权登录标识生成单次登录票据即可。授权服务器在基于授权登录标识或历史授权登录标识(历史授权登录标识就是首次登录时生成的授权登录标识)生成单次登录票据(ticket)之后,还可以在缓存中建立与userOneID之间关系,然后,将单次登录票据和userOneID作为授权登录信息返回至被信任方应用的当前服务器或终端。
终端当登录标识为加密后对象标识时,接收授权服务器返回的授权登录信息,该授权登录信息包括授权服务器基于所述加密后对象标识生成的授权登录标识和基于授权登录标识生成的单次登录票据;当登录标识为历史授权登录标识时,接收授权服务器返回的授权登录信息,该授权登录信息包括历史授权登录标识和基于历史收取登录标识生成的单次登录票据。
305、终端将授权登录信息发送至被授权方应用的应用服务器。
例如,终端可以根据授权登录信息,生成针对被授权方应用的应用跳转请求,基于应用跳转请求,将授权登录信息发送至被授权方应用的应用服务器。
306、应用服务器根据授权登录信息,生成目标对象登录被授权方应用的待验证信息。
例如,应用服务器可以获取目标对象在被信任方应用中的登录类型,当登录类型为首次登录时,对目标对象的对象信息进行加密,并将加密后对象信息添加至所述授权登录信息,得到目标对象登录被授权方应用的待验证信息,当登录类型为非首次登录时,在授权登录信息中提取出目标对象的授权对象标识,获取被授权方应用的历史登录对象登录记录,并在历史对象登录记录中查询授权对象标识,当存在授权对象标识时,确定目标对象针对被授权方应用的登录结果类型为历史登录成功,当不存在授权登录标识时,确定目标对象针对被授权方应用的登录结果类型为历史登录失败。当登录结果类型为历史登录成功时,在授权登录信息中提取出单次登录票据,并将单次登录票据作为待验证信息,当登录结果类型为历史登录失败时,对目标对象的对象信息进行加密,并将加密后对象信息添加至授权登录信息,得到待验证信息。
307、应用服务器将待验证信息发送至授权服务器。
例如,应用服务器可以直接将待验证信息发送至授权服务器,或者,基于待验证信息,触发生成验证请求,在该验证请求中添加待验证信息,然后,将验证请求发送至授权服务器,或者,当待验证信息的数量较多或者内存较大时,基于待验证信息,触发生成验证请求,然后,在验证请求中添加待验证信息的存储地址,然后,将验证请求发送至授权服务器,以便授权服务器在验证请求中提取出存储地址,然后,基于该存储地址获取待验证信息。
308、授权服务器对待验证信息进行验证。
例如,当待验证信息为单次登录票据时,授权服务器直接验证该单次登录票据的有效性,当单次登录票据有效时,就可以确定待验证信息验证通过,即目标对象登录成功,当单次登录票据失效或无效时,就可以确定待验证信息验证未通过,即目标对象登录失败。当待验证信息为添加加密后对象信息的授权登录信息时,就意味着目标对象为首次登录或者历史登录失败,授权服务器就需要判断待验证信息中包含的加密后对象信息sec(uniqueID)1、授权登录标识/历史授权登录标识(userOneID)和单次登录票据(ticket)是否与自身记录的ticket、userOneID和sec(uniqueID)是否匹配,当匹配成功时,就可以确定待验证信息验证通过,即目标对象登录成功,当匹配失败时,就可以确定待验证信息验证未通过,集目标对象登录失败。然后,授权服务器将待验证信息的验证结果返回至被授权方应用的应用服务器。
309、应用服务器接收授权服务器返回的验证结果,并将验证结果发送至终端。
例如,可以直接接收授权服务器返回的验证结果,或者,还可以接收授权服务器的验证反馈请求,然后,基于验证反馈请求,从授权服务器拉取待验证信息的验证结果。将验证结果发送至终端。
310、终端基于验证结果,在被授权方应用上登录目标对象。
例如,终端当验证结果为验证通过时,在被授权方应用上登录目标对象,当验证结果为验证未通过时,获取目标对象针对被授权方应用的目标登录信息,将目标登录信息发送至被授权方应用的应用服务器,以便应用服务器对目标登录信息进行验证,并接收应用服务器返回的验证结果,当验证结果为验证通过时,就可以在被授权方应用上登录目标对象。
由以上可知,本实施例终端在接收在被信任方应用中登录的目标对象针对被授权方应用的单点登录请求后,根据单点登录请求,确定目标对象登录被授权方应用的登录标识,然后,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息,将授权登录信息发送至被授权方应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证,然后,接收应用服务器返回的验证结果,并基于验证结果,在被授权方应用上登录所述目标对象;由于该方案在被信任方应用中的目标对象跳转登录被授权方应用的过程中,引入了第三方的授权服务,通过授权服务器生成授权登录信息,并基于授权登录信息进行登录验证,从而完成单点登录信任,因此,可以提升应用登录的安全性。
为了更好地实施以上方法,本发明实施例还提供一种应用登录装置(即第一应用登录装置),该第一应用登录装置可以集成在终端,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
例如,如图10所示,该第一应用登录装置可以包括第一接收单元401、确定单元402、授权单元403、第一验证单元404和第一登录单元405,如下:
(1)第一接收单元401;
第一接收单元401,用于接收在第一应用中登录的目标对象针对第二应用的单点登录请求。
例如,第一接收单元401,具体可以用于显示第一应用中的业务引导页面,该业务引导页面中可以包括候选业务应用的应用列表,响应于针对应用列表的选择操作,显示选择操作对应的第二应用的登录页面,该登录页面包括登录控件,响应于针对登录控件的触发操作,接收目标对象针对第二应用的单点登录请求,或者,还可以显示第一应用中的业务引导页面,该业务引导页面包括第二应用的登录控件,响应于针对登录控件的触发操作,接收目标对象针对第二应用的单点登录请求。
(2)确定单元402;
确定单元402,用于根据单点登录请求,确定目标对象登录第二应用的登录标识。
例如,确定单元402,具体可以用于根据单点登录请求,获取目标对象的历史应用登录记录,基于历史应用登录记录,确定目标对象在第一应用中的登录类型,根据登录类型,构建目标对象登录第二应用的登录标识。
(3)授权单元403;
授权单元403,用于将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息。
例如,授权单元403,具体可以用于根据单点登录请求,调用第二应用对应的登录授权接口,并基于登录授权接口,将登录标识发送至授权服务器,当登录标识为加密后对象标识时,接收授权服务器返回的授权登录信息,该授权登录信息包括授权服务器基于所述加密后对象标识生成的授权登录标识和基于授权登录标识生成的单次登录票据;当登录标识为历史授权登录标识时,接收授权服务器返回的授权登录信息,该授权登录信息包括历史授权登录标识和基于历史收取登录标识生成的单次登录票据。
(4)第一验证单元404;
第一验证单元404,用于将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证。
例如,第一验证单元404,具体可以用于根据授权登录信息,生成针对第二应用的应用跳转请求,基于应用跳转请求,将授权登录信息发送至第二应用的应用服务器,以便应用服务器基于授权登录信息生成目标对象的待验证信息,并将待验证信息发送至授权服务器进行验证。
(5)第一登录单元405;
第一登录单元405,用于接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录目标对象。
例如,第一登录单元405,具体可以用于接收应用服务器返回的验证结果,当验证结果为验证通过时,在第二应用上登录目标对象,当验证结果为验证未通过时,获取目标对象针对第二应用的目标登录信息,并对目标登录信息进行验证,以在第二应用上登录目标对象。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本实施例在第一接收单元401接收在第一应用中登录的目标对象针对第二应用的单点登录请求后,确定单元402根据单点登录请求,确定目标对象登录第二应用的登录标识,然后,授权单元403将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息,第一验证单元404将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证,然后,第一登录单元405接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象;由于该方案在第一应用中的目标对象跳转登录第二应用的过程中,引入了第三方的授权服务,通过授权服务器生成授权登录信息,并基于授权登录信息进行登录验证,从而完成单点登录信任,因此,可以提升应用登录的安全性。
为了更好地实施以上方法,本发明实施例还提供一种应用登录装置(即第二应用登录装置),该第二应用登录装置可以集成在服务器,该服务器可以为单台服务器,也可以为多台服务器组成的服务器集群。
例如,如图11所示,该第二应用登录装置可以包括第二接收单元501、生成单元502、第二验证单元503和第二登录单元504,如下:
(1)第二接收单元501;
第二接收单元501,用于接收终端发送的第一应用中登录的目标对象的授权登录信息。
例如,第二接收单元501,具体可以用于接收终端发送的第一应用中登录的目标对象的登录信息,或者,还可以接收终端发送的第一应用对应的应用跳转请求,在该应用跳转请求中提取出第一应用中登录的目标对象的授权登录信息,或者,当授权登录信息的数量较多或者内存较大时,还可以接收终端发送的第一应用对应的应用跳转请求,该应用跳转请求中携带授权登录信息的存储地址,基于该存储地址,获取第一应用中登录的目标对象登录第二应用的授权登录信息。
(2)生成单元502;
生成单元502,用于根据授权登录信息,生成目标对象登录第二应用的待验证信息。
例如,生成单元502,具体可以用于获取目标对象在第一应用中的登录类型,当登录类型为首次登录时,对目标对象的对象信息进行加密,并将加密后对象信息添加至所述授权登录信息,得到目标对象登录第二应用的待验证信息,当登录类型为非首次登录时,根据授权登录信息,确定目标对象针对第二应用的登录结果类型,并基于登录结果类型和授权登录信息,生成目标对象登录第二应用的待验证信息。
(3)第二验证单元503;
第二验证单元503,用于将待验证信息发送至授权服务器,以便授权服务器对待验证信息进行验证。
例如,第二验证单元503,具体可以用于将待验证信息发送至授权服务器,当待验证信息为单次登录票据时,授权服务器直接验证该单次登录票据的有效性,当单次登录票据有效时,就可以确定待验证信息验证通过,当单次登录票据失效或无效时,就可以确定待验证信息验证未通过。当待验证信息为添加加密后对象信息的授权登录信息时,授权服务器就需要判断待验证信息中包含的加密后对象信息sec(uniqueID)1、授权登录标识/历史授权登录标识(userOneID)和单次登录票据(ticket)是否与自身记录的ticket、userOneID和sec(uniqueID)是否匹配,当匹配成功时,就可以确定待验证信息验证通过,当匹配失败时,就可以确定待验证信息验证未通过。然后,授权服务器将待验证信息的验证结果返回至第二应用的应用服务器。
(4)第二登录单元504;
第二登录单元504,用于接收授权服务器返回的验证结果,并将验证结果发送至终端,以便终端在第二应用中登录目标对象。
例如,第二登录单元504,具体可以用于接收授权服务器返回的验证结果,或者,还可以接收授权服务器的验证反馈请求,然后,基于验证反馈请求,从授权服务器拉取待验证信息的验证结果。将验证结果发送至终端,以便终端在第二应用中登录目标对象
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本实施例在第二接收单元501接收终端发送的第一应用中登录的目标对象的授权登录信息后,生成单元502根据授权登录信息,生成目标对象登录第二应用的待验证信息,第二验证单元503将待验证信息发送至授权服务器,以便授权服务器对待验证信息进行验证,然后,第二登录单元504接收授权服务器返回的验证结果,并将验证结果发送至终端,以便终端在第二应用中登录所述目标对象;由于该方案在第一应用中的目标对象跳转登录第二应用的过程中,引入了第三方的授权服务,通过授权服务器对目标对象的待验证信息进行登录验证,从而完成单点登录,因此,可以提升应用登录的安全性。
本发明实施例还提供一种电子设备,如图12所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图12中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
电子设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
接收在第一应用中登录的目标对象针对第二应用的单点登录请求,根据单点登录请求,确定目标对象登录第二应用的登录标识,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息,将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证,接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象。
或者
接收终端发送的第一应用中登录的目标对象的授权登录信息,根据授权登录信息,生成目标对象登录第二应用的待验证信息,将待验证信息发送至授权服务器,以便授权服务器对待验证信息进行验证,接收授权服务器返回的验证结果,并将验证结果发送至终端,以便终端在所述第二应用中登录所述目标对象。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由以上可知,本发明实施例在接收在第一应用中登录的目标对象针对第二应用的单点登录请求后,根据单点登录请求,确定目标对象登录第二应用的登录标识,然后,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息,将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证,然后,接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象;由于该方案在第一应用中的目标对象跳转登录第二应用的过程中,引入了第三方的授权服务,通过授权服务器生成授权登录信息,并基于授权登录信息进行登录验证,从而完成单点登录信任,因此,可以提升应用登录的安全性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种应用登录方法中的步骤。例如,该指令可以执行如下步骤:
接收在第一应用中登录的目标对象针对第二应用的单点登录请求,根据单点登录请求,确定目标对象登录第二应用的登录标识,将登录标识发送至授权服务器,并接收授权服务器返回的基于登录标识生成的授权登录信息,将授权登录信息发送至第二应用的应用服务器,以便应用服务器将授权登录信息发送至授权服务器进行验证,接收应用服务器返回的验证结果,并基于验证结果,在第二应用上登录所述目标对象。
或者
接收终端发送的第一应用中登录的目标对象的授权登录信息,根据授权登录信息,生成目标对象登录第二应用的待验证信息,将待验证信息发送至授权服务器,以便授权服务器对待验证信息进行验证,接收授权服务器返回的验证结果,并将验证结果发送至终端,以便终端在所述第二应用中登录所述目标对象。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种应用登录方法中的步骤,因此,可以实现本发明实施例所提供的任一种应用登录方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述应用登录方面或者应用跳转方面的各种可选实现方式中提供的方法。
以上对本发明实施例所提供的一种应用登录方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (18)

1.一种应用登录方法,其特征在于,包括:
接收在第一应用中登录的目标对象针对第二应用的单点登录请求;
根据所述单点登录请求,确定所述目标对象登录所述第二应用的登录标识;
将所述登录标识发送至授权服务器,并接收所述授权服务器返回的基于所述登录标识生成的授权登录信息;
将所述授权登录信息发送至所述第二应用的应用服务器,以便所述应用服务器将所述授权登录信息发送至所述授权服务器进行验证;
接收所述应用服务器返回的验证结果,并基于所述验证结果,在所述第二应用上登录所述目标对象。
2.根据权利要求1所述的应用登录方法,其特征在于,所述根据所述单点登录请求,确定所述目标对象登录所述第二应用的登录标识,包括:
根据所述单点登录请求,获取所述目标对象的历史应用登录记录;
基于所述历史应用登录记录,确定所述目标对象在所述第一应用中的登录类型;
根据所述登录类型,构建所述目标对象登录所述第二应用的登录标识。
3.根据权利要求2所述的应用登录方法,其特征在于,所述基于所述历史应用登录记录,确定所述目标对象登录所述第二应用的登录类型,包括:
在所述历史应用登录记录中查询所述第二应用的应用标识;
当不存在所述应用标识时,确定所述目标对象在所述第一应用中的登录类型为首次登录;
当存在所述应用标识时,确定所述目标对象在所述第一应用中的登录类型为非首次登录。
4.根据权利要求3所述的应用登录方法,其特征在于,所述根据所述登录类型,构建所述目标对象登录所述第二应用的登录标识,包括:
当所述登录类型为首次登录时,基于所述目标对象的对象信息,生成所述目标对象登录所述第二应用的登录标识;
当所述登录类型为非首次登录时,获取所述第一应用中的历史授权登录标识集合,并在所述历史授权登录标识集合中筛选出所述目标对象对应的历史授权登录标识,并将所述历史授权登录标识作为所述目标对象登录所述第二应用的登录标识。
5.根据权利要求4所述的应用登录方法,其特征在于,所述基于所述目标对象的对象信息,生成所述目标对象登录所述第二应用的登录标识,包括:
将所述目标对象的对象信息发送至所述第一应用的当前应用服务器,以便所述当前应用服务器在所述对象信息中提取出至少一个对象标识,并对所述对象标识进行加密;
接收所述当前应用服务器返回的加密后对象信息,并将所述加密后对象信息作为所述目标对象登录所述第二应用的登录标识。
6.根据权利要求5所述的应用登录方法,其特征在于,所述将所述登录标识发送至授权服务器,并接收所述授权服务器返回的基于所述登录标识生成的授权登录信息,包括:
根据所述单点登录请求,调用所述第二应用对应的登录授权接口,并基于所述登录授权接口,将所述登录标识发送至所述授权服务器;
当所述登录标识为所述加密后对象标识时,接收所述授权服务器返回的授权登录信息,所述授权登录信息包括所述授权服务器基于所述加密后对象标识生成的授权登录标识和基于所述授权登录标识生成的单次登录票据;
当所述登录标识为所述历史授权登录标识时,接收所述授权服务器返回的授权登录信息,所述授权登录信息包括所述历史授权登录标识和基于所述历史授权登录标识生成的单次登录票据。
7.根据权利要求1至6任一项所述的应用登录方法,其特征在于,所述将所述授权登录信息发送至所述第二应用的应用服务器,以便所述应用服务器将所述授权登录信息发送至授权服务器进行验证,包括:
根据所述授权登录信息,生成针对所述第二应用的应用跳转请求;
基于所述应用跳转请求,将所述授权登录信息发送至所述第二应用的应用服务器,以便所述应用服务器基于所述授权登录信息生成目标对象的待验证信息,并将所述待验证信息发送至所述授权服务器进行验证。
8.根据权利要求1至5任一项所述的应用登录方法,其特征在于,所述基于验证结果,在所述第二应用上登录所述目标对象,包括:
当所述验证结果为验证通过时,在所述第二应用上登录所述目标对象;
当所述验证结果为验证未通过时,获取所述目标对象针对所述第二应用的目标登录信息,并对所述目标登录信息进行验证,以在所述第二应用上登录所述目标对象。
9.根据权利要求1至5任一项所述的应用登录方法,其特征在于,所述接收在第一应用中登录的目标对象针对第二应用的单点登录请求之前,还包括:
接收所述目标对象针对所述第一应用的登录请求,所述登录请求携带所述目标对象的当前登录信息;
将所述当前登录信息发送至所述第一应用的当前应用服务器,并接收所述当前应用服务器返回的针对所述当前登录信息的当前验证结果;
当当前验证结果为验证通过时,在所述第一应用中登录所述目标对象。
10.一种应用登录方法,其特征在于,包括:
接收终端发送的第一应用中登录的目标对象的授权登录信息;
根据所述授权登录信息,生成所述目标对象登录第二应用的待验证信息;
将所述待验证信息发送至授权服务器,以便所述授权服务器对所述待验证信息进行验证;
接收所述授权服务器返回的验证结果,并将所述验证结果发送至所述终端,以便所述终端在所述第二应用中登录所述目标对象。
11.根据权利要求10所述的应用登录方法,其特征在于,所述根据所述授权登录信息,生成所述目标对象登录第二应用的待验证信息,包括:
获取所述目标对象在第一应用中的登录类型;
当所述登录类型为首次登录时,对所述目标对象的对象信息进行加密,并将加密后对象信息添加至所述授权登录信息,得到所述目标对象登录所述第二应用的待验证信息;
当所述登录类型为非首次登录时,根据所述授权登录信息,确定所述目标对象针对所述第二应用的登录结果类型,并基于所述登录结果类型和授权登录信息,生成所述目标对象登录所述第二应用的待验证信息。
12.根据权利要求11所述的应用登录方法,其特征在于,所述根据所述授权登录信息,确定所述目标对象针对所述第二应用的登录结果类型,包括:
在所述授权登录信息中提取出所述目标对象的授权对象标识;
获取所述第二应用的历史对象登录记录,并在所述历史对象登录记录中查询所述授权对象标识;
当存在所述授权对象标识时,确定所述目标对象针对所述第二应用的登录结果类型为历史登录成功;
当不存在所述授权登录标识时,确定所述目标对象针对所述第二应用的登录结果类型为历史登录失败。
13.根据权利要求12所述的应用登录方法,其特征在于,所述基于所述登录结果类型和授权登录信息,生成所述目标对象登录所述第二应用的待验证信息,包括:
当所述登录结果类型为历史登录成功时,在所述授权登录信息中提取出单次登录票据,并将所述单次登录票据作为所述待验证信息;
当所述登录结果类型为历史登录失败时,对所述目标对象的对象信息进行加密,并将加密后对象信息添加至所述授权登录信息,得到所述待验证信息。
14.一种应用登录装置,其特征在于,包括:
第一接收单元,用于接收在第一应用中登录的目标对象针对第二应用的单点登录请求;
确定单元,用于根据所述单点登录请求,确定所述目标对象登录所述第二应用的登录标识;
授权单元,用于将所述登录标识发送至授权服务器,并接收所述授权服务器返回的基于所述登录标识生成的授权登录信息;
第一验证单元,用于将所述授权登录信息发送至所述第二应用的应用服务器,以便所述应用服务器将所述授权登录信息发送至所述授权服务器进行验证;
第一登录单元,用于接收所述应用服务器返回的验证结果,并基于所述验证结果,在所述第二应用上登录所述目标对象。
15.一种应用登录装置,其特征在于,包括:
第二接收单元,用于接收终端发送的第一应用中登录的目标对象的授权登录信息;
生成单元,用于根据所述授权登录信息,生成所述目标对象登录第二应用的待验证信息;
第二验证单元,用于将所述待验证信息发送至授权服务器,以便所述授权服务器对所述待验证信息进行验证;
第二登录单元,用于接收所述授权服务器返回的验证结果,并将所述验证结果发送至所述终端,以便所述终端在所述第二应用中登录所述目标对象。
16.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至13任一项所述的应用登录方法中的步骤。
17.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至13任一项所述应用登录方法中的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至13任一项所述的应用登录方法中的步骤。
CN202210594546.9A 2022-05-27 2022-05-27 应用登录方法、装置、电子设备和计算机可读存储介质 Pending CN117176371A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210594546.9A CN117176371A (zh) 2022-05-27 2022-05-27 应用登录方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210594546.9A CN117176371A (zh) 2022-05-27 2022-05-27 应用登录方法、装置、电子设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN117176371A true CN117176371A (zh) 2023-12-05

Family

ID=88940005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210594546.9A Pending CN117176371A (zh) 2022-05-27 2022-05-27 应用登录方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN117176371A (zh)

Similar Documents

Publication Publication Date Title
US11854003B2 (en) Signature verification method, apparatus, and system
CN112073400B (zh) 一种访问控制方法、系统、装置及计算设备
CN111917773B (zh) 业务数据处理方法、装置和服务器
CN111556006B (zh) 第三方应用系统登录方法、装置、终端及sso服务平台
CN106330850B (zh) 一种基于生物特征的安全校验方法及客户端、服务器
TWI587672B (zh) Login authentication method, client, server and system
CN106302308B (zh) 一种信任登录方法和装置
CN110365684B (zh) 应用集群的访问控制方法、装置和电子设备
MX2011002423A (es) Autorizacion de operaciones de servidor.
US9332433B1 (en) Distributing access and identification tokens in a mobile environment
KR20130107188A (ko) 사운드 코드를 이용한 인증 서버 및 인증방법
CN111241523B (zh) 认证处理方法、装置、设备和存储介质
CN113569263A (zh) 跨私域数据的安全处理方法、装置及电子设备
CN108390878B (zh) 用于验证网络请求安全性的方法、装置
US11075922B2 (en) Decentralized method of tracking user login status
CN115550002B (zh) 一种基于tee的智能家居远程控制方法及相关装置
KR20120084631A (ko) 고유식별자 기반 인증시스템 및 방법
CN114428661A (zh) 一种镜像管理方法及装置
CN116647345A (zh) 权限令牌的生成方法以及装置、存储介质、计算机设备
CN114584324B (zh) 一种基于区块链的身份授权方法和系统
CN109428869B (zh) 钓鱼攻击防御方法和授权服务器
CN117176371A (zh) 应用登录方法、装置、电子设备和计算机可读存储介质
CN106533685B (zh) 身份认证方法、装置及系统
CN114090996A (zh) 多方系统互信认证方法及装置
CN115664686A (zh) 一种登录方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination