CN115396217A - 应用授权方法、装置、设备、存储介质和计算机程序产品 - Google Patents
应用授权方法、装置、设备、存储介质和计算机程序产品 Download PDFInfo
- Publication number
- CN115396217A CN115396217A CN202211040284.8A CN202211040284A CN115396217A CN 115396217 A CN115396217 A CN 115396217A CN 202211040284 A CN202211040284 A CN 202211040284A CN 115396217 A CN115396217 A CN 115396217A
- Authority
- CN
- China
- Prior art keywords
- application
- authorization
- target
- account
- request
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本公开关于一种应用授权方法、装置、电子设备、存储介质和计算机程序产品。所述方法包括:响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;授权令牌为第二应用在取得目标账户针对目标账户的账户信息的授权后获取的;生成包含第一应用的第一应用标识和授权令牌的第二授权请求,向目标应用的授权服务端发送第二授权请求;其中,第二授权请求用于触发授权服务端基于第一应用标识、授权令牌中第二应用的第二应用标识以及预先获取的应用关系信息,识别第一应用与第二应用的关系,并根据关系识别结果向第一应用返回授权结果。本公开中,可以简化应用授权操作,有效提高应用授权效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种应用授权方法、装置、电子设备、存储介质和计算机程序产品。
背景技术
随着互联网技术的发展,用户通常会拥有多个网络平台的账户,例如音视频应用的账户、社交应用的账户以及支付应用的账户等。为便于满足用户的特定需求,一网络平台可以在取得用户授权后,将相关的账户信息提供给其他平台。
在相关技术中,若要将某一目标应用的账号信息分别授权给不同的多个应用,用户需要在触发相应的应用后分别进行授权,例如,若要将目标应用A的账号信息授权给应用B和应用C,往往需要用户应用B执行相应的触发操作后,将目标应用A的账户信息授权给应用B,然后在应用C也执行相应的触发操作,才能将目标应用A的账户信息授权给应用B。
然而,在存在多个待授权的应用时,上述方式需要用户执行多次授权操作,存在应用授权效率低下的问题。
发明内容
本公开提供一种应用授权方法、装置、电子设备、存储介质和计算机程序产品,以至少解决相关技术中应用授权效率低下的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种应用授权方法,包括:
响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
生成包含所述第一应用的第一应用标识和所述授权令牌的第二授权请求,向所述目标应用的授权服务端发送所述第二授权请求;
其中,所述第二授权请求用于触发所述授权服务端基于所述第一应用标识、所述授权令牌中所述第二应用的第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
在其中一个实施例中,所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌,包括:
响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定与所述第一应用关联且独立运行的第二应用;
若所述第二应用已取得所述目标账户的授权,则获取所述第二应用的授权令牌。
在其中一个实施例中,所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定与所述第一应用关联且独立运行的第二应用,包括:
通过第二应用的应用页面展示第一应用的应用入口;所述第一应用和第二应用为独立运行的应用;
在检测到针对所述应用入口的触发操作且获取到第一登录请求的情况下,得到第一应用针对目标应用中目标账户的账户信息的第一授权请求,并确定展示有所述应用入口的第二应用与所述第一应用关联;其中,所述第一登录请求指示基于所述目标账户登录所述第一应用。
在其中一个实施例中,所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌,包括:
响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定为所述第一应用提供运行环境的第二应用;所述第二应用为包括第一应用在内的多个子应用提供运行环境;
若所述第二应用已取得所述目标账户的授权,则获取所述第二应用的授权令牌。
在其中一个实施例中,在所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌之前,还包括:
将第一应用的第一应用标识以及第二应用的第二应用标识关联,生成应用关系信息,并向目标应用的授权服务端发送所述应用关系信息;
所述应用关系信息用于在所述授权服务端接收到所述第二授权请求的情况下,指示所述授权服务端基于所述应用关系信息中的第一应用标识、第二应用标识以及所述第一授权请求携带的第一应用标识和授权令牌中的第二应用标识,识别所述第一应用和所述第二应用的关系。
在其中一个实施例中,在所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌之前,还包括:
获取第二应用,并响应于所述第二应用针对目标应用的第二登录请求,展示针对目标应用目标账户的账户信息的授权提示;所述第二登录请求指示基于所述目标账户登录所述第二应用;
若接收到所述目标账户针对所述授权提示的确认信息,从所述目标应用的授权服务端获取授权令牌。
根据本公开实施例的第二方面,提供一种应用授权方法,包括:
接收第一应用针对目标应用中目标账户的账户信息的授权请求,获取所述授权请求携带的所述第一应用的第一应用标识以及第二应用的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
获取所述授权令牌中所述第二应用的第二应用标识,基于所述第一应用标识、所述第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
在其中一个实施例中,所述根据关系识别结果向所述第一应用返回授权结果,包括:
若确定所述第一应用与所述第二应用关联,则对所述第一应用分配所述第二应用的关联授权;
在接收到所述第一应用针对所述目标账户的账户信息的获取请求的情况下,根据所述关联授权的授权属性信息,向所述第一应用返回授权结果。
在其中一个实施例中,所述授权属性信息包括第二应用的授权令牌的有效期限,所述在接收到所述第一应用针对所述目标账户的账户信息的获取请求的情况下,根据所述关联授权的授权属性信息,向所述第一应用返回授权结果,包括:
在接收到所述第一应用针对所述目标账户的账户信息的获取请求的情况下,从所述授权属性信息中获取所述第二应用的授权令牌的有效期限;
在所述获取请求的请求时间未超出所述有效期限的情况下,将所述目标账户的账户信息作为授权结果返回所述第一应用。
在其中一个实施例中,所述应用关系信息存储有关联的应用标识,所述基于所述第一应用标识、所述第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,包括:
若基于预先获取的应用关系信息确定所述第一应用标识与所述第二应用标识关联,则确定所述第一应用与所述第二应用关联。
根据本公开实施例的第三方面,提供一种应用授权装置,包括:
授权令牌获取单元,被配置为执行响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
授权请求发送单元,被配置为执行生成包含所述第一应用的第一应用标识和所述授权令牌的第二授权请求,向所述目标应用的授权服务端发送所述第二授权请求;
其中,所述第二授权请求用于触发所述授权服务端基于所述第一应用标识、所述授权令牌中所述第二应用的第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
根据本公开实施例的第四方面,提供一种应用授权装置,包括:
授权请求接收单元,被配置为执行接收第一应用针对目标应用中目标账户的账户信息的授权请求,获取所述授权请求携带的所述第一应用的第一应用标识以及第二应用的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
授权结果确定单元,被配置为执行获取所述授权令牌中所述第二应用的第二应用标识,基于所述第一应用标识、所述第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
根据本公开实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一项所述的应用授权方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述任一项所述的应用授权方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被电子设备的处理器执行时,使得所述电子设备能够执行如上述任一项所述的应用授权方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;该授权令牌为第二应用在取得目标账户针对目标账户的账户信息的授权后获取的;进而可以生成包含第一应用的第一应用标识和授权令牌的第二授权请求,向目标应用的授权服务端发送第二授权请求;该第二授权请求可以触发授权服务端基于第一应用标识、授权令牌中第二应用的第二应用标识以及预先获取的应用关系信息,识别第一应用与第二应用的关系,并根据关系识别结果向第一应用返回授权结果。本公开的方案,第一应用可以通过第二应用预先取得的由目标账户授权后获取的授权令牌,向授权服务端请求获取目标账户账户信息的授权并得到来自授权服务端的授权结果,无需用户再次触发对第一应用的授权请求执行相关操作,并且授权服务端可以根据第一应用与第二应用的关系返回对应的授权结果,避免任意在应用间进行授权令牌的传播,在简化应用授权操作的同时确保授权的安全性,从而有效提高授权效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种应用授权方法的应用环境图。
图2是根据一示例性实施例示出的一种应用授权方法的流程图。
图3是根据一示例性实施例示出的一种获取授权令牌的步骤的示意图。
图4是根据一示例性实施例示出的另一种获取授权令牌的步骤的示意图。
图5是根据一示例性实施例示出的另一种应用授权方法的流程图。
图6是根据一示例性实施例示出的一种应用授权方法的时序图。
图7是根据一示例性实施例示出的一种应用授权装置的框图。
图8是根据一示例性实施例示出的另一种应用授权装置的框图。
图9是根据一示例性实施例示出的一种电子设备的框图。
图10是根据一示例性实施例示出的另一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本公开所提供的应用授权方法,可以应用于如图1所示的应用环境中,该应用环境可以包括终端和授权服务端,终端可以通过网络与授权服务端进行通信,其中,授权服务端可以提供数据授权服务,例如为指定的目标应用进行数据授权,在取得授权的情况下,目标应用以外的其他应用可以获取目标应用的相关数据。授权服务端可以具有对应的数据存储系统,该数据存储系统可以存储授权服务端需要处理的数据,例如目标应用的相关数据,实际应用中,数据存储系统可以集成在授权服务端上,也可以放在云上或其他网络服务器上。
在本公开的一种应用授权方法中,响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,终端可以获取第二应用预先取得的授权令牌,该授权令牌可以是第二应用在取得目标账户针对目标账户的账户信息的授权后取得的;进而终端可以生成包含第一应用的第一应用标识和授权令牌的第二授权请求,并向目标应用的授权服务端发送第二授权请求;在接收到第二授权请求后,授权服务端可以被触发基于第一应用标识、授权令牌中第二应用的第二应用标识和预先获取的应用关系信息,识别第一应用与第二应用之间的关系,进而可以根据关系识别结果,向第一应用返回对应的响应数据。
其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等;便携式可穿戴设备可为智能手表、智能手环、头戴设备等。授权服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2是根据一示例性实施例示出的一种应用授权方法的流程图,如图2所示,以该方法用于图1中的终端为例进行说明,可以包括以下步骤。
在步骤S210中,响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;授权令牌为第二应用在取得目标账户针对目标账户的账户信息的授权后获取的。
作为一示例,目标应用可以是待向其他应用提供本应用中目标账户相关账户信息的应用,示例性地,目标账户可以是目标应用中处于登录状态的账户。
目标账户的账户信息可以是目标账户使用目标应用的过程中所产生的信息。例如,账户信息可以包括指代目标账户的信息,如目标账户的账户名称或账户标识,又如,账户信息也可以包括目标账户针对目标应用的使用记录,如目标账户已发布的多媒体内容。
具体实际中,终端可以部署有多个应用,在取得账户授权的情况下,应用可以将本应用中账户的相关账户信息提供给多个应用中的其他应用。在本步骤中,终端可以安装有第一应用、第二应用和目标应用的客户端。其中,第二应用可以预先针对目标应用中目标账户的账户信息进行请求,请求获取使用该账户信息的授权,进而在取得目标账户针对目标账户的账户信息的授权后,第二应用可以获取目标应用的授权令牌(access_token)。示例性地,授权令牌中可以存储有以下一种或多种信息:目标账户标识、第二应用标识、令牌版本号、设备标识、权限范围、生成时间。
在第一应用检测到针对目标账户的账户信息的授权触发事件后,第一应用可以针对目标账户的账户信息生成第一授权请求。响应于第一应用的第一授权请求,终端可以获取第二应用已预先取得的授权令牌。
在步骤S220中,生成包含第一应用的第一应用标识和授权令牌的第二授权请求,向目标应用的授权服务端发送第二授权请求。
其中,第二授权请求用于触发授权服务端基于第一应用标识、授权令牌中第二应用的第二应用标识以及预先获取的应用关系信息,识别第一应用与第二应用的关系,并根据关系识别结果向第一应用返回授权结果。
作为一示例,应用关系信息中可以记录有关联应用的应用关系,例如应用B与应用C关联,则该关联关系可以记录在应用关系信息中。
在获取第二应用的授权令牌后,终端可以获取第一应用的标识,即第一应用标识,进而可以生成包含有第一应用标识和第二应用的授权令牌的第二授权请求,并向为目标应用提供授权服务的授权服务端发送第二授权请求。
实际应用中,授权服务端在接收到应用发送的包含应用标识和授权令牌的请求后,可以获取授权令牌中存储的应用标识,该应用标识为获取到目标账户的授权并取得该授权令牌的应用所对应的应用标识,进而授权服务端可以根据授权令牌中的应用标识和请求中应用标识,校验发送请求的应用是否取得授权。
在本步骤中,在接收到第二授权请求后,授权服务端可以获取第二授权请求中的授权令牌,由于第二授权请求中的授权令牌是由第二应用取得,授权服务端可以从授权令牌中获取到第二应用的第二应用标识。
可以理解,在第一应用标识与第二应用标识不同的情况下,授权服务端可以确定当前发送第二授权请求的第一应用与取得授权令牌的第二应用为不同的两个应用,进而可以获取预先获取的应用关系信息,根据第一应用标识、第二应用标识以及应用关系信息,识别第一应用和第二应用之间的关系,得到关系识别结果,并根据关系识别结果向第一应用返回相应的授权结果。
具体而言,本公开中,一个应用取得的授权令牌可以被其他与其相关的应用所使用,换句话说,授权令牌可以在相关应用之间进行传播,基于此,本实施例中的授权服务端可以对第一应用与第二应用之间的关系进行识别,确定第一应用与第二应用之间是否存在预设的关系,得到关系识别结果。若关系识别结果指示第一应用与第二应用之间存在预设的关系,则第一应用可以通过第二应用的授权令牌取得目标账户的账户信息的授权,授权服务端可以向第一应用返回授权结果,该授权结果中可以包含有指示允许授权的信息;若关系识别结果指示第一应用与第二应用之间不存在预设的关系,则授权服务端可以拒绝第一应用通过第二应用的授权令牌获取目标账户的账户信息,并返回指示拒绝授权的授权结果给第一应用,避免将目标账户的账户信息提供给第一应用。
上述应用授权方法中,响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;该授权令牌为第二应用在取得目标账户针对目标账户的账户信息的授权后获取的;进而可以生成包含第一应用的第一应用标识和授权令牌的第二授权请求,向目标应用的授权服务端发送第二授权请求;该第二授权请求可以触发授权服务端基于第一应用标识、授权令牌中第二应用的第二应用标识以及预先获取的应用关系信息,识别第一应用与第二应用的关系,并根据关系识别结果向第一应用返回授权结果。本公开的方案,第一应用可以通过第二应用预先取得的由目标账户授权后获取的授权令牌,向授权服务端请求获取目标账户账户信息的授权并得到来自授权服务端的授权结果,无需用户再次触发对第一应用的授权请求执行相关操作,并且授权服务端可以根据第一应用与第二应用的关系返回对应的授权结果,避免任意在应用间进行授权令牌的传播,在简化应用授权操作的同时确保授权的安全性,从而有效提高授权效率。
在一示例性实施例中,如图3所示,在步骤S210中,响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌,可以包括如下步骤:
在步骤S310中,响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定与第一应用关联且独立运行的第二应用。
在实际应用中,在第一应用检测到针对目标应用中目标账户的账户信息的授权触发事件后,例如检测到用户触发采用目标应用中的目标账户登录第一应用或在第一应用中展示目标账户在目标应用中发布的媒体资源等,第一应用可以针对目标账户的账户信息生成第一授权请求。响应于第一授权请求,终端可以在已部署的多个应用中确定出与第一应用关联并且独立运行的第二应用。
具体而言,终端上可以部署有多个应用,其中包括的第一应用和第二应用可以是独立运行的,即第一应用和第二应用的应用运行不依赖于对方,第一应用和第二应用可以分别被下载及安装;并且,使用应用的用户或第一应用、第二应用的开发人员可以预先通过相关的配置将第一应用和第二应用关联,其中,关联的多个应用可以构成应用合集。
进而在检测到第一应用的第一授权请求后,可以根据预先生成的配置确定出与第一应用关联且独立运行的第二应用。
在步骤S320中,若第二应用已取得目标账户的授权,则获取第二应用的授权令牌。
在确定出与第一应用关联的第二应用后,可以判断第二应用是否已取得目标应用中的目标账户的授权,若第二应用已取得目标账户的授权,可以确定第二应用已获取到相应的授权令牌,则终端可以获取第二应用的授权令牌。
在本实施例中,响应于第一应用的第一授权请求,可以从与第一应用关联且独立运行的第二应用中获取授权令牌,能够在关联且独立运行的多个应用之间,重复利用由用户授权使用的授权令牌,避免用户在使用关联且独立运行的多个应用时重复执行授权操作,提高应用授权效率。
在一示例性实施例中,在步骤S310中,响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定与第一应用关联且独立运行的第二应用,包括:
通过第二应用的应用页面展示第一应用的应用入口;第一应用和第二应用为独立运行的应用;在检测到针对应用入口的触发操作且获取到第一登录请求的情况下,得到第一应用针对目标应用中目标账户的账户信息的第一授权请求,并确定展示有所述应用入口的第二应用与所述第一应用关联。
其中,第一登录请求指示基于目标应用中的目标账户登录第一应用。
在具体实现中,为便于用户对关联应用的调用,一个应用的应用页面中可以提供有其他应用的应用入口。在本实施例中,终端可以展示第二应用的应用页面,并在第二应用的应用页面中展示第一应用的应用入口,虽然第二应用中展示有第一应用的应用入口,但本实施例中的第一应用和第二应用为分别独立运行的应用。
在展示第二应用的应用页面展示第一应用的应用入口后,若检测到针对应用入口的触发操作(如点击)并且获取到第一登录请求的情况下,可以确定得到第一应用针对目标应用中目标账户的账户信息的第一授权请求。
在本实施例,在第二应用提供有第一应用的应用入口的情况下,若用户已对第二应用使用目标账户的账户信息进行授权,则在触发使用目标账户登录第一应用时,第一应用可直接使用第二应用的授权令牌,请求授权服务端允许第一应用使用目标账户登录,用户无需再对第一应用进行授权。
在一示例性实施例中,如图4所示,在步骤S210中,响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌,可以包括如下步骤:
在步骤S410中,响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定为第一应用提供运行环境的第二应用;第二应用为包括第一应用在内的多个子应用提供运行环境。
具体而言,第一应用可以是依赖于第二应用而运行的应用,即第二应用为包括第一应用在内的多个子应用提供运行环境,第一应用在使用时可以无需下载安装,而是可以在第二应用提供的运行环境中运行并响应用户相关请求,示例性地,为包括第一应用在内的多个子应用提供运行环境的第二应用可以称为应用包或应用合集,第一应用可以称为子应用或小程序。
在本步骤中,在第一应用检测到针对目标应用中目标账户的账户信息的授权触发事件后,若第一应用为依赖于其他应用提供的运行环境进行运行的应用,则可以确定出为第一应用提供运行环境的第二应用。
在步骤S420中,若第二应用已取得目标账户的授权,则获取第二应用的授权令牌。
在确定出与第一应用关联的第二应用后,可以判断第二应用是否已取得目标应用中的目标账户的授权,若第二应用已取得目标账户的授权,可以确定第二应用已获取到相应的授权令牌,则终端可以获取第二应用的授权令牌。
在本实施例中,响应于第一应用的第一授权请求,可以从为多个子应用提供运行环境的第二应用中获取授权令牌,并供第二应用的子应用使用,实现授权令牌在主应用(即第二应用)和主应用下的子应用(即第一应用)之间的传播,在第二应用已取得目标账户授权的情况下,避免在使用第二应用下的各个子应用时再次执行授权操作,提高应用授权效率。
在一示例性实施例中,在步骤S210之前,所述方法还可以包括如下步骤:
将第一应用的第一应用标识以及第二应用的第二应用标识关联,生成应用关系信息,并向目标应用的授权服务端发送所述应用关系信息。
其中,应用关系信息用于在授权服务端接收到第二授权请求的情况下,指示授权服务端基于应用关系信息中的第一应用标识、第二应用标识以及第一授权请求携带的第一应用标识和授权令牌中的第二应用标识,识别第一应用和所述第二应用的关系。
具体而言,可以预先配置不同应用之间的应用关系信息,创建应用组,在同一应用组中的多个应用可以存在关联,在本实施例中,可以获取第一应用的第一应用标识以及第二应用的第二应用标识。其中,第一应用和第二应用可以是两个分别独立运行的应用,或者,第二应用可以为第一应用提供运行环境,即第一应用的运行依附于第二应用,又或者,第一应用和第二应用可以是同一类型的应用或来自于同一开发者的应用,如都是音视频类的应用或者都由开发者甲开发并发布,当然,本领域技术人员也可以按照其他的方式选择待关联的第一应用和第二应用。
在得到第一应用标识和第二应用标识后,可以将第一应用标识和第二应用标识关联,并基于关联后的第一应用标识和第二应用标识生成应用关系信息,进而终端可以向授权服务端发送该应用关系信息。需要说明的是,应用关系信息除了包括两个关联应用的信息,也可以包括三个或三个以上关联应用的信息。
在获取到应用关系信息后,授权服务端可以在接收到第二授权请求的情况下,根据第二授权请求中的第一应用标识以及授权令牌中的第二应用标识,在已获取的关联应用信息中进行查询,识别第一应用和第二应用之间的关系,得到关系识别结果。
在一可选的实施例中,在创建应用组时,表征应用组中各应用的应用关系信息可以通过数据库表进行记录和存储,数据库表的形式可以如表1所示,数据库表可以包括记录应用组不同属性的多个字段,例如,若应用组中包括为其他应用提供运行环境的应用,则可以通过字段“app_id”记录该应用的应用标识,如上述实施例中的第二应用标识,而其他依赖于第二应用所提供的应用环境的子应用,则可以通过字段“related_app_group”记录应用标识,如第一应用标识;当然,若第一应用与第二应用为分别独立运行的应用,也可以通过该数据库表存储应用关系信息。例如针对一应用包1,该应用包中包括应用2、应用3和应用4,那么在表中存储的数据可以为“app_id=1”“related_app_group=[2,3,4]”。
表1
字段 | 字段含义 | 类型 |
id | 标识 | bigint |
app_id | 应用标识 | bigint |
related_app_group | 相关的应用组 | list<long> |
create_time | 创建时间 | bigint |
update_time | 更新时间 | bigint |
在本实施例中,通过将第一应用的第一应用标识以及第二应用的第二应用标识关联,生成应用关系信息,并向目标应用的授权服务端发送所述应用关系信息,能够使授权服务端在接收到第一应用的包含其他应用授权令牌的授权请求时,正确识别第一应用与第二应用是否关联并返回相应的授权结果,实现应用组内授权令牌的传播和共享,避免用户对关联应用重复执行授权操作。
在一示例性实施例中,在步骤S210之前,所述方法还可以包括如下步骤:
获取第二应用,并响应于第二应用针对目标应用的第二登录请求,展示针对目标应用目标账户的账户信息的授权提示;若接收到目标账户针对授权提示的确认信息,从目标应用的授权服务端获取授权令牌。
其中,第二登录请求可以指示基于目标账户登录第二应用。
在实际应用中,可以下载第二应用并将第二应用部署在终。在检测到用户使用目标应用中的目标账户登录第二应用的触发操作后,第二应用可以生成针对目标应用的第二登录请求。
响应于第二登录请求,终端可以展示针对目标应用中目标账户的账户信息的授权提示,该授权提示可以问询用户是否允许将目标账户的账户信息授权给第二应用使用。若确认允许将目标账户的账户信息授权给第二应用使用,用户可以在终端执行相应的确认操作,则响应于该操作,终端可以接收到目标账户针对授权提示的确认信息,并从目标应用的授权服务端获取相应的授权令牌。
例如,响应于用户使用目标应用中的目标账户登录第二应用的触发操作,终端上第二应用的客户端可以调用SDK(软件开发工具包,Software Development Kit)生成第二登录请求,触发获取目标应用中目标账户的账户信息的授权。第二登录请求可以被转发到终端中目标应用的客户端,由目标应用的客户端与目标应用的授权服务端进行通信,在目标应用的客户端从授权服务端获取到相关的授权信息后,目标应用的客户端可以拉取授权页面,在授权页面上展示授权提示,等待用户进行授权。在检测到用户针对授权提示的确认操作后,目标应用的客户端可以确定接收到目标账户针对授权提示的确认信息,在生成授权码并发送给第二应用后,可以由第二应用的客户端将授权码发送给第二应用的服务端,由第二应用的服务端将授权码发送到授权服务端,以获取置换后的授权令牌,第二应用的服务端可以将该授权令牌返回到终端上第二应用的客户端。
在本实施例中,在使用目标应用中的目标账户登录第二应用时,可以触发第二应用获取由目标账户授权的授权令牌,为后续在相关应用中传播可信的授权令牌、减少用户授权次数提供身份校验信息。
图5是根据一示例性实施例示出的另一种应用授权方法的流程图,如图5所示,以该方法用于图1中的授权服务端为例进行说明,可以包括以下步骤。
在步骤S510中,接收第一应用针对目标应用中目标账户的账户信息的授权请求,获取授权请求携带的第一应用的第一应用标识以及第二应用的授权令牌;授权令牌为第二应用在取得目标账户针对目标账户的账户信息的授权后获取的。
在实际应用中,终端可以部署有多个应用,在取得账户授权的情况下,应用可以将本应用中账户的相关账户信息提供给多个应用中的其他应用。在本实施例中,终端可以安装有第一应用、第二应用和目标应用的客户端。其中,第二应用可以预先针对目标应用中目标账户的账户信息进行请求,请求获取使用该账户信息的授权,进而在取得目标账户针对目标账户的账户信息的授权后,第二应用可以获取目标应用的授权令牌。
在第一应用检测到针对目标账户的账户信息的授权触发事件后,终端可以获取第一应用的第一应用标识以及第二应用预先取得的授权令牌,生成包含有第一应用标识和授权令牌的授权请求,并将向目标应用的授权服务端发送该授权请求。进而授权服务端在接受到该授权请求后,可以获取授权请求中的第一应用标识和授权令牌。
在步骤S520中,获取授权令牌中第二应用的第二应用标识,基于第一应用标识、第二应用标识以及预先获取的应用关系信息,识别第一应用与第二应用的关系,并根据关系识别结果向第一应用返回授权结果。
作为一示例,应用关系信息中可以记录有关联应用的应用关系,例如应用B与应用C关联,则该关联关系可以记录在应用关系信息中。
具体实现中,授权服务端在接收到应用发送的包含应用标识和授权令牌的请求后,可以获取授权令牌中存储的应用标识,该应用标识为获取到目标账户的授权并取得该授权令牌的应用所对应的应用标识,进而授权服务端可以根据授权令牌中的应用标识和请求中应用标识,校验发送请求的应用是否取得授权。
在本步骤中,在获取到授权请求中来自第二应用的授权令牌后,由于该授权令牌是由第二应用取得,授权服务端可以从授权令牌中获取到第二应用的第二应用标识。
可以理解,在第一应用标识与第二应用标识不同的情况下,授权服务端可以确定发送授权请求的第一应用与取得授权令牌的第二应用为不同的两个应用,进而可以获取预先得到的应用关系信息,根据第一应用标识、第二应用标识以及应用关系信息,识别第一应用和第二应用之间的关系,得到关系识别结果,并根据关系识别结果向第一应用返回相应的授权结果。
具体而言,本公开中,一个应用取得的授权令牌可以被其他与其相关的应用所使用,换句话说,授权令牌可以在相关应用之间进行传播,基于此,本实施例中的授权服务端可以对第一应用与第二应用之间的关系进行识别,确定第一应用与第二应用之间是否存在预设的关系,得到关系识别结果。若关系识别结果指示第一应用与第二应用之间存在预设的关系,则第一应用可以通过第二应用的授权令牌取得目标账户的账户信息的授权,授权服务端可以向第一应用返回授权结果,该授权结果中可以包含有指示允许授权的信息;若关系识别结果指示第一应用与第二应用之间不存在预设的关系,则授权服务端可以拒绝第一应用通过第二应用的授权令牌获取目标账户的账户信息,并返回指示拒绝授权的授权结果给第一应用,避免将目标账户的账户信息提供给第一应用。
上述应用授权方法中,授权服务端可以接收第一应用针对目标应用中目标账户的账户信息的授权请求,获取授权请求携带的第一应用的第一应用标识以及第二应用的授权令牌,该授权令牌为第二应用在取得目标账户针对目标账户的账户信息的授权后获取的;进而授权服务端可以获取授权令牌中第二应用的第二应用标识,基于第一应用标识、第二应用标识以及预先获取的应用关系信息,识别第一应用与第二应用的关系,并根据关系识别结果向第一应用返回授权结果。本公开的方案,第一应用可以通过第二应用预先取得的由目标账户授权后获取的授权令牌,向授权服务端请求获取目标账户账户信息的授权并得到来自授权服务端的授权结果,无需用户再次触发对第一应用的授权请求执行相关操作,并且授权服务端可以根据第一应用与第二应用的关系返回对应的授权结果,避免任意在应用间进行授权令牌的传播,在简化应用授权操作的同时确保授权的安全性,从而有效提高授权效率。
在一示例性实施例中,在步骤S520中,根据关系识别结果向第一应用返回授权结果,可以包括如下步骤:
若确定第一应用与第二应用关联,则对第一应用分配第二应用的关联授权;在接收到第一应用针对目标账户的账户信息的获取请求的情况下,根据关联授权的授权属性信息,向第一应用返回授权结果。
其中,授权属性信息可以是表征授权内容的信息。
在实际应用中,若确定第一应用与第二应用不相关,则授权服务端可以拒绝为第一应用授权;若确定第一应用与第二应用关联,则可以将目标账户此前对第二应用的授权视同为对第一应用的授权,确定第一应用可以合规地使用目标账户的账户信息,为便于后续为第一应用提供相应数据,可以为第二应用分配第一应用的关联授权,作为第一应用可以合规使用目标账户的账户信息的身份凭证。换句话说,若第一应用可以依赖于第二应用的授权令牌合规地使用目标账户的账户信息,可以不为第一应用重新分配一授权令牌,而是为其分配指示授权来源的关联授权,该关联授权指示第一应用当前取得的授权是来源第二应用的。
进而在接收到第一应用针对目标账户的账户信息的获取请求的情况下,即第一应用请求获取目标账户的账户信息,此时可以结合关联授权的授权属性信息,确定第一应用被允许获取的账户信息,并基于第一应用被允许获取的账户信息,向第一应用返回授权结果,该授权结果中可以包括有第一应用被允许获取的账户信息。
其中,终端可以将获取请求与第二授权请求一起发送到授权服务端,授权服务端为第一应用分配关联授权后,可以相应处理获取请求,或者,终端也可以先发送第二授权请求,并在后续检测到相关触发操作(例如使用目标账户登录第一应用的操作)后,根据触发操作内容发送对应的获取请求,请求从授权服务端获取目标账户的账户信息中的指定内容。
在本实施例中,可以在第一应用与第二应用关联的情况下,位第一应用分配第二应用的关联授权,并根据关联授权的授权属性信息,向第一应用返回相应的授权结果,首先授权令牌在不同应用之间的使用,避免用户重复执行授权操作。
在一示例性实施例中,授权属性信息可以包括第二应用的授权令牌的有效期限,当然,授权属性信息还可以包括目标账户的账户标识、第一应用标识、第二应用标识、授权状态、授权属性信息的创建时间、授权属性信息的更新时间,示例性地,授权属性信息可以通过数据库表的形式存储,该数据库表可以如下表2所示:
表2
所述在接收到第一应用针对目标账户的账户信息的获取请求的情况下,根据关联授权的授权属性信息,向第一应用返回授权结果,可以包括如下步骤:
在接收到第一应用针对目标账户的账户信息的获取请求的情况下,从授权属性信息中获取第二应用的授权令牌的有效期限;在获取请求的请求时间未超出有效期限的情况下,将目标账户的账户信息作为授权结果返回第一应用。
作为一示例,请求时间可以是终端发送获取请求的时间或授权服务端接收到获取请求的时间。
具体地,由于第一应用的关联授权是依赖于第二应用的授权,在接收到第一应用针对目标账户的账户信息的获取请求的情况下,可以从关联授权的授权属性信息中获取第二应用的授权令牌的有效期限,并判断获取请求的请求时间是否超出授权令牌的有效期限。
若获取请求的请求时间未超出有效期限,则授权服务端可以将目标账户的账户信息作为授权结果返回到第一应用;若授权请求的请求时间已超出有效期限,则可以确定关联授权已过期,并拒绝向第一应用提供目标账户的账户信息。
在本实施例中,可以在获取请求的请求时间未超出第二应用授权令牌有效期限的情况下,将目标账户的账户信息作为授权结果返回第一应用,在避免用户重复执行授权操作的同时保证账户信息安全。
在一示例性实施例中,应用关系信息存储有关联的应用标识,所述基于所述第一应用标识、所述第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,包括:
若基于预先获取的应用关系信息确定第一应用标识与第二应用标识关联,则确定第一应用与第二应用关联。
具体而言,可以预先配置不同应用之间的应用关系信息,创建应用组,在同一应用组中的多个应用可以存在关联,在本实施例中,可以获取第一应用的第一应用标识以及第二应用的第二应用标识。其中,第一应用和第二应用可以是两个分别独立运行的应用,或者,第二应用可以为第一应用提供运行环境,即第一应用的运行依附于第二应用,又或者,第一应用和第二应用可以是同一类型的应用或来自于同一开发者的应用,如都是音视频类的应用或者都由开发者甲开发并发布,当然,本领域技术人员也可以按照其他的方式选择待关联的第一应用和第二应用。
在得到第一应用标识和第二应用标识后,可以将第一应用标识和第二应用标识关联,并基于关联后的第一应用标识和第二应用标识生成应用关系信息,进而终端可以向授权服务端发送该应用关系信息。
在获取到应用关系信息后,授权服务端可以在接收到授权请求后,根据授权请求中的第一应用标识以及授权令牌中的第二应用标识,在已获取的关联应用信息中进行查询,识别第一应用和第二应用之间的关系,若在应用关系信息中查找到关联的第一应用标识和第二应用标识,则可以确定第一应用与第二应用关联,得到关系识别结果。
在本实施例中,通过在基于预先获取的应用关系信息确定第一应用标识与第二应用标识关联的情况下,确定第一应用与第二应用关联,能够使授权服务端在接收到第一应用的包含其他应用授权令牌的授权请求时,正确识别第一应用与第二应用是否关联并返回相应的授权结果,实现应用组内授权令牌的传播和共享,避免用户对关联应用重复执行授权操作
为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本公开实施例加以示例性说明,但应当理解的是,本公开实施例并不限于此。
如图6所示,目标应用的授权服务端可以包括目标应用开放服务以及目标应用授权服务,合集包APP可以理解为第二应用,第二应用可以是为其他子应用提供运行环境的应用,也可以是显示有其他独立运行应用的应用入口的应用。合集包App可以具有相应的服务端,终端上可以安装有合集包APP的客户端以及目标应用的客户端。
在本实施例中,在检测到用户打开合集包App并请求使用目标账户登录合集包App客户端的触发操作后,响应于该操作,合集包App客户端可以调用SDK生成第二登录请求,向目标应用申请获取合集包App针对目标账户的账户信息的授权。第二登录请求可以被转发到目标应用的客户端,由目标应用的客户端与目标应用的授权服务端进行通信,在目标应用的客户端从授权服务获取到相关的授权信息后,目标应用的客户端可以拉取授权页面,在授权页面上展示授权提示,等待用户进行授权。
在检测到用户针对授权提示的确认操作后,目标应用的客户端可以确定接收到目标账户针对授权提示的确认信息,在生成授权码并发送给合集包App的客户端后,可以由合集包App的客户端将授权码发送给合集包App的服务端,由合集包App的服务端将授权码发送到授权服务,以获取采用授权码置换后的授权令牌,合集包App的服务端可以将该授权令牌返回到合集包App的客户端,并且,合集包App的服务端可以凭借当前获取到的授权令牌,向目标应用的开放服务请求获取目标账户的账户信息。目标应用的开放服务在接收合集包App的请求后,可以凭借该请求中的授权令牌,触发授权服务进行鉴权以检查合集包App是否获取到用户授权;授权服务在返回鉴权结果后,若鉴权结果指示合集包App已取得用户授权,开放服务可以再次请求获取合集包App的用户授权关系,并接收来自授权服务返回的用户授权关系。在接收到该信息后,开放服务可以向合集包App的服务端返回目标账户的账户信息,进而可以采用目标账户登录到合集包App的客户端。
当用户继续打开合集包App中的应用B时,合集包App可以将已获取的授权令牌传播给应用B,应用B可以生成携带有该授权令牌以及应用B的应用标识的授权请求,并通过合集包App的服务端发送到授权服务,授权服务在确定应用B为合集包App内的应用的请求下,可以为应用B分配合集包App的关联授权,并向合集包App的服务端返回该授权信息。进而合集包App的服务端可以向开放服务请求为应用B获取目标账户的账户信息,发送携带有合集包App的授权令牌以及应用B标识的请求,目标应用的开放服务在到该请求后,可以凭借该请求中的授权令牌以及应用B的应用标识,触发授权服务进行鉴权以检查合集包App是否获取到用户授权;授权服务若根据授权令牌、应用B的应用标识以及预先得到的应用关系信息,确定应用B获取到合集包App的关联授权,则可以进一步判断关联授权是否有效,并返回鉴权结果。若鉴权结果指示应用B的关联授权有效,开放服务可以再次请求获取合集包App的用户授权关系,并接收来自授权服务返回的用户授权关系。在接收到该信息后,开放服务可以向合集包App的服务端返回目标账户的账户信息,并触发合集包App的服务端采用目标账户登录到应用B的客户端。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的应用授权方法的应用授权装置。
图7是根据一示例性实施例示出的一种应用授权装置框图。参照图7,该装置包括授权令牌获取单元701和授权请求发送单元702。
授权令牌获取单元701,被配置为执行响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
授权请求发送单元702,被配置为执行生成包含所述第一应用的第一应用标识和所述授权令牌的第二授权请求,向所述目标应用的授权服务端发送所述第二授权请求;
其中,所述第二授权请求用于触发所述授权服务端基于所述第一应用标识、所述授权令牌中所述第二应用的第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
在一示例性实施例中,所述授权令牌获取单元701,包括:
第一确定模块,被配置为执行响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定与所述第一应用关联且独立运行的第二应用;
第一获取模块,被配置为执行若所述第二应用已取得所述目标账户的授权,则获取所述第二应用的授权令牌。
在一示例性实施例中,所述第一确定模块,具体被配置为执行:
通过第二应用的应用页面展示第一应用的应用入口;所述第一应用和第二应用为独立运行的应用;
在检测到针对所述应用入口的触发操作且获取到第一登录请求的情况下,得到第一应用针对目标应用中目标账户的账户信息的第一授权请求,并确定展示有所述应用入口的第二应用与所述第一应用关联;其中,所述第一登录请求指示基于所述目标账户登录所述第一应用。
在一示例性实施例中,所述授权令牌获取单元701,包括:
第二确定模块,被配置为执行响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定为所述第一应用提供运行环境的第二应用;所述第二应用为包括第一应用在内的多个子应用提供运行环境;
第二获取模块,被配置为执行若所述第二应用已取得所述目标账户的授权,则获取所述第二应用的授权令牌。
在一示例性实施例中,所述装置还包括:
应用关系信息发送单元,被配置为执行将第一应用的第一应用标识以及第二应用的第二应用标识关联,生成应用关系信息,并向目标应用的授权服务端发送所述应用关系信息;
所述应用关系信息用于在所述授权服务端接收到所述第二授权请求的情况下,指示所述授权服务端基于所述应用关系信息中的第一应用标识、第二应用标识以及所述第一授权请求携带的第一应用标识和授权令牌中的第二应用标识,识别所述第一应用和所述第二应用的关系。
在一示例性实施例中,所述装置还包括:
授权提示单元,被配置为执行获取第二应用,并响应于所述第二应用针对目标应用的第二登录请求,展示针对目标应用目标账户的账户信息的授权提示;所述第二登录请求指示基于所述目标账户登录所述第二应用;
授权令牌领取单元,被配置为执行若接收到所述目标账户针对所述授权提示的确认信息,从所述目标应用的授权服务端获取授权令牌。
图8是根据一示例性实施例示出的另一种应用授权装置框图。参照图8,该装置包括授权请求接收单元801和授权结果确定单元802。
授权请求接收单元801,被配置为执行接收第一应用针对目标应用中目标账户的账户信息的授权请求,获取所述授权请求携带的所述第一应用的第一应用标识以及第二应用的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
授权结果确定单元802,被配置为执行获取所述授权令牌中所述第二应用的第二应用标识,基于所述第一应用标识、所述第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
在一示例性实施例中,所述授权结果确定单元802,包括:
关联授权分配模块,被配置为执行若确定所述第一应用与所述第二应用关联,则对所述第一应用分配所述第二应用的关联授权;
授权结果返回模块,被配置为执行在接收到所述第一应用针对所述目标账户的账户信息的获取请求的情况下,根据所述关联授权的授权属性信息,向所述第一应用返回授权结果。
在一示例性实施例中,所述授权属性信息包括第二应用的授权令牌的有效期限,所述授权结果返回模块,具体被配置为执行:
在接收到所述第一应用针对所述目标账户的账户信息的获取请求的情况下,从所述授权属性信息中获取所述第二应用的授权令牌的有效期限;
在所述获取请求的请求时间未超出所述有效期限的情况下,将所述目标账户的账户信息作为授权结果返回所述第一应用。
在一示例性实施例中,所述应用关系信息存储有关联的应用标识,所述授权结果确定单元802,被配置为执行:
若基于预先获取的应用关系信息确定所述第一应用标识与所述第二应用标识关联,则确定所述第一应用与所述第二应用关联。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
上述应用授权装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图9是根据一示例性实施例示出的一种用于实现一种应用授权方法的电子设备900的框图。例如,电子设备900可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图9,电子设备900可以包括以下一个或多个组件:处理组件902、存储器904、电源组件906、多媒体组件908、音频组件910、输入/输出(I/O)的接口912、传感器组件914以及通信组件916。
处理组件902通常控制电子设备900的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。
存储器904被配置为存储各种类型的数据以支持在电子设备900的操作。这些数据的示例包括用于在电子设备900上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
电源组件906为电子设备900的各种组件提供电力。电源组件906可以包括电源管理系统,一个或多个电源,及其他与为电子设备900生成、管理和分配电力相关联的组件。
多媒体组件908包括在所述电子设备900和用户之间的提供输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括前置摄像头和/或后置摄像头。当电子设备900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括麦克风(MIC),当电子设备900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括扬声器,用于输出音频信号。
I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件914包括一个或多个传感器,用于为电子设备900提供各个方面的状态评估。例如,传感器组件914可以检测到电子设备900的打开/关闭状态,组件的相对定位,例如所述组件为电子设备900的显示器和小键盘,传感器组件914还可以检测电子设备900或电子设备900组件的位置改变,用户与电子设备900接触的存在或不存在,设备900方位或加速/减速和电子设备900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件916被配置为便于电子设备900和其他设备之间有线或无线方式的通信。电子设备900可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器904,上述指令可由电子设备900的处理器920执行以完成上述方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备900的处理器920执行以完成上述方法。
图10是根据一示例性实施例示出的一种用于实现一种应用授权方法的电子设备1000的框图。例如,电子设备1000可以为服务器。参照图10,电子设备1000包括处理组件1020,其进一步包括一个或多个处理器,以及由存储器1022所代表的存储器资源,用于存储可由处理组件1020的执行的指令,例如应用程序。存储器1022中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1020被配置为执行指令,以执行上述方法。
电子设备1000还可以包括:电源组件1024被配置为执行电子设备1000的电源管理,有线或无线网络接口1026被配置为将电子设备1000连接到网络,和输入输出(I/O)接口1028。电子设备1000可以操作基于存储在存储器1022的操作系统,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD或类似。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1022,上述指令可由电子设备1000的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备1000的处理器执行以完成上述方法。
需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种应用授权方法,其特征在于,包括:
响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
生成包含所述第一应用的第一应用标识和所述授权令牌的第二授权请求,向所述目标应用的授权服务端发送所述第二授权请求;
其中,所述第二授权请求用于触发所述授权服务端基于所述第一应用标识、所述授权令牌中所述第二应用的第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
2.根据权利要求1所述的方法,其特征在于,所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌,包括:
响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定与所述第一应用关联且独立运行的第二应用;
若所述第二应用已取得所述目标账户的授权,则获取所述第二应用的授权令牌。
3.根据权利要求2所述的方法,其特征在于,所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定与所述第一应用关联且独立运行的第二应用,包括:
通过第二应用的应用页面展示第一应用的应用入口;所述第一应用和第二应用为独立运行的应用;
在检测到针对所述应用入口的触发操作且获取到第一登录请求的情况下,得到第一应用针对目标应用中目标账户的账户信息的第一授权请求,并确定展示有所述应用入口的第二应用与所述第一应用关联;其中,所述第一登录请求指示基于所述目标账户登录所述第一应用。
4.根据权利要求1所述的方法,其特征在于,所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌,包括:
响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,确定为所述第一应用提供运行环境的第二应用;所述第二应用为包括第一应用在内的多个子应用提供运行环境;
若所述第二应用已取得所述目标账户的授权,则获取所述第二应用的授权令牌。
5.根据权利要求1所述的方法,其特征在于,在所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌之前,还包括:
将第一应用的第一应用标识以及第二应用的第二应用标识关联,生成应用关系信息,并向目标应用的授权服务端发送所述应用关系信息;
所述应用关系信息用于在所述授权服务端接收到所述第二授权请求的情况下,指示所述授权服务端基于所述应用关系信息中的第一应用标识、第二应用标识以及所述第一授权请求携带的第一应用标识和授权令牌中的第二应用标识,识别所述第一应用和所述第二应用的关系。
6.根据权利要求1所述的方法,其特征在于,在所述响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌之前,还包括:
获取第二应用,并响应于所述第二应用针对目标应用的第二登录请求,展示针对目标应用目标账户的账户信息的授权提示;所述第二登录请求指示基于所述目标账户登录所述第二应用;
若接收到所述目标账户针对所述授权提示的确认信息,从所述目标应用的授权服务端获取授权令牌。
7.一种应用授权方法,其特征在于,包括:
接收第一应用针对目标应用中目标账户的账户信息的授权请求,获取所述授权请求携带的所述第一应用的第一应用标识以及第二应用的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
获取所述授权令牌中所述第二应用的第二应用标识,基于所述第一应用标识、所述第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
8.根据权利要求7所述的方法,其特征在于,所述根据关系识别结果向所述第一应用返回授权结果,包括:
若确定所述第一应用与所述第二应用关联,则对所述第一应用分配所述第二应用的关联授权;
在接收到所述第一应用针对所述目标账户的账户信息的获取请求的情况下,根据所述关联授权的授权属性信息,向所述第一应用返回授权结果。
9.根据权利要求8所述的方法,其特征在于,所述授权属性信息包括第二应用的授权令牌的有效期限,所述在接收到所述第一应用针对所述目标账户的账户信息的获取请求的情况下,根据所述关联授权的授权属性信息,向所述第一应用返回授权结果,包括:
在接收到所述第一应用针对所述目标账户的账户信息的获取请求的情况下,从所述授权属性信息中获取所述第二应用的授权令牌的有效期限;
在所述获取请求的请求时间未超出所述有效期限的情况下,将所述目标账户的账户信息作为授权结果返回所述第一应用。
10.根据权利要求7所述的方法,其特征在于,所述应用关系信息存储有关联的应用标识,所述基于所述第一应用标识、所述第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,包括:
若基于预先获取的应用关系信息确定所述第一应用标识与所述第二应用标识关联,则确定所述第一应用与所述第二应用关联。
11.一种应用授权装置,其特征在于,包括:
授权令牌获取单元,被配置为执行响应于第一应用针对目标应用中目标账户的账户信息的第一授权请求,获取第二应用预先取得的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
授权请求发送单元,被配置为执行生成包含所述第一应用的第一应用标识和所述授权令牌的第二授权请求,向所述目标应用的授权服务端发送所述第二授权请求;
其中,所述第二授权请求用于触发所述授权服务端基于所述第一应用标识、所述授权令牌中所述第二应用的第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
12.一种应用授权装置,其特征在于,包括:
授权请求接收单元,被配置为执行接收第一应用针对目标应用中目标账户的账户信息的授权请求,获取所述授权请求携带的所述第一应用的第一应用标识以及第二应用的授权令牌;所述授权令牌为所述第二应用在取得所述目标账户针对所述目标账户的账户信息的授权后获取的;
授权结果确定单元,被配置为执行获取所述授权令牌中所述第二应用的第二应用标识,基于所述第一应用标识、所述第二应用标识以及预先获取的应用关系信息,识别所述第一应用与所述第二应用的关系,并根据关系识别结果向所述第一应用返回授权结果。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的方法或实现如权利要求7至10中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至6中任一项所述的方法或实现如权利要求7至10中任一项所述的方法。
15.一种计算机程序产品,所述计算机程序产品中包括指令,其特征在于,所述指令被电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至6中任一项所述的方法或实现如权利要求7至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211040284.8A CN115396217A (zh) | 2022-08-29 | 2022-08-29 | 应用授权方法、装置、设备、存储介质和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211040284.8A CN115396217A (zh) | 2022-08-29 | 2022-08-29 | 应用授权方法、装置、设备、存储介质和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115396217A true CN115396217A (zh) | 2022-11-25 |
Family
ID=84122500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211040284.8A Pending CN115396217A (zh) | 2022-08-29 | 2022-08-29 | 应用授权方法、装置、设备、存储介质和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115396217A (zh) |
-
2022
- 2022-08-29 CN CN202211040284.8A patent/CN115396217A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10608988B2 (en) | Method and apparatus for bluetooth-based identity recognition | |
CN109039990B (zh) | 基于验证码进行行为验证的方法及装置 | |
CN106878445B (zh) | 资源文件更新方法及装置 | |
WO2017177571A1 (zh) | 一种执行业务处理的方法、装置及系统 | |
CN103914520B (zh) | 数据查询方法、终端设备和服务器 | |
CN109547480A (zh) | 一种登录方法及装置 | |
CN111368232A (zh) | 口令分享回流方法、装置、电子设备及存储介质 | |
CN111611075A (zh) | 虚拟资源请求处理方法、装置、电子设备及存储介质 | |
CN115185717B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN107395624B (zh) | 信息处理方法及装置 | |
CN110597924A (zh) | 基于区块链的用户标识处理方法、装置、设备及存储介质 | |
CN108280342B (zh) | 应用同步方法和装置、用于应用同步的装置 | |
CN112286632B (zh) | 云平台、云平台管理方法、装置、电子设备及储存介质 | |
CN112769715B (zh) | 资源分配方法、装置、电子设备和存储介质 | |
CN110008668B (zh) | 一种数据处理方法、装置及存储介质 | |
CN109885360B (zh) | 一种数据处理方法、装置及存储介质 | |
CN112784243A (zh) | 授权管理方法及装置、电子设备和存储介质 | |
CN111338971A (zh) | 应用测试方法、装置、电子设备及存储介质 | |
US10091236B2 (en) | Methods apparatuses, and storage mediums for acquiring legitimate installation packages | |
CN113596806B (zh) | 终端来源的确定方法、装置、电子设备和存储介质 | |
CN106408304B (zh) | 账户安全管理方法和装置 | |
CN115396217A (zh) | 应用授权方法、装置、设备、存储介质和计算机程序产品 | |
CN109542644B (zh) | 应用程序编程接口调用方法及装置 | |
CN107734072B (zh) | 推送信息的处理方法及装置 | |
CN113328971A (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 |