联合授权方法和装置与流程

文档序号:20686032发布日期:2020-05-08 18:50阅读:357来源:国知局
联合授权方法和装置与流程

本申请实施例涉及计算机技术领域,具体涉及联合授权方法和装置。



背景技术:

在互联网环境下,越来越多的产品运行时需要调用多个其他产品。这些产品需要用户对其调用的多个其他产品逐个授权。

目前,用户对产品调用的多个其他产品授权的方式通常是逐个弹框提示用户点击授权。例如,产品x运行时需要调用产品a、b、c,那么用户需要逐个对产品a、b、c进行授权。具体地,在用户开始使用产品x之前,在产品x上会提示用户先对产品a授权;用户授权a成功之后,在产品x上再提示用户对产品b授权;用户授权b成功之后,在产品x上再提示用户对产品c授权;产品a、b、c均授权成功之后,用户才可以正式使用产品x提供的目标服务。用户如果拒绝对产品a、b、c中任何一个产品授权,或产品a、b、c中任何一个产品授权失败,该用户都不能正常使用产品x提供的目标服务。



技术实现要素:

本申请实施例提出了联合授权方法和装置。

第一方面,本申请实施例提出了一种联合授权方法,包括:响应于检测到用户在第一产品上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递,其中,第一产品运行时通过调用第二产品集合来提供目标服务;响应于接收到第二产品集合中的预设数目个第二产品发送的授权成功消息,展示授权成功消息。

在一些实施例中,响应于检测到用户在第一产品上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求,包括:响应于检测到用户执行第一产品的登录操作,在第一产品上展示联合授权页面;响应于检测到用户在联合授权页面上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求。

在一些实施例中,向第二产品集合中的预设数目个第二产品发送联合授权请求,包括:获取第二产品集合的授权顺序;将授权顺序添加到联合授权请求中,以及将联合授权请求发送至授权顺序中排序在第一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

在一些实施例中,响应于接收到第二产品集合中的预设数目个第二产品发送的授权成功消息,展示授权成功消息,包括:响应于接收到授权顺序中排序在最后一位的第二产品发送的授权成功消息,展示授权成功消息。

在一些实施例中,该方法还包括:响应于接收到第二产品序列中的一个第二产品发送的授权失败消息,展示授权失败消息。

第二方面,本申请实施例提出了一种联合授权方法,包括:响应于接收到联合授权请求,处理联合授权请求,其中,联合授权请求是用户在第一产品上发送的或第二产品集合中的一个第二产品串行传递的,其中,第一产品运行时通过调用第二产品集合来提供目标服务;若授权成功,确定第二产品集合中是否存在尚未处理过联合授权请求的第二产品;若存在尚未处理过联合授权请求的第二产品,将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,以使联合授权请求在第二产品集合内部串行处理和传递。

在一些实施例中,确定第二产品集合中是否存在尚未处理过联合授权请求的第二产品,包括:从联合授权请求中获取第二产品集合的授权顺序;确定当前第二产品在授权顺序中的排序;若当前第二产品排序在最后一位,确定不存在尚未处理过联合授权请求的第二产品;若当前第二产品不排序在最后一位,确定存在尚未处理过联合授权请求的第二产品。

在一些实施例中,将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,包括:将联合授权请求传递至授权顺序中排序在当前第二产品的下一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

在一些实施例中,处理联合授权请求,包括:验证联合授权请求,解析授权参数,生成授权信息。

在一些实施例中,在将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个的第二产品之前,还包括:将授权信息添加到联合授权请求中。

在一些实施例中,将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,包括:通过授权回调接口将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品。

在一些实施例中,该方法还包括:若不存在尚未处理过联合授权请求的第二产品,向用户发送授权成功消息。

在一些实施例中,该方法还包括:若授权失败,向用户发送授权失败消息。

第三方面,本申请实施例提出了一种联合授权装置,包括:发送单元,被配置成响应于检测到用户在第一产品上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递,其中,第一产品运行时通过调用第二产品集合来提供目标服务;第一展示单元,被配置成响应于接收到第二产品集合中的预设数目个第二产品发送的授权成功消息,展示授权成功消息。

在一些实施例中,发送单元进一步被配置成:响应于检测到用户执行第一产品的登录操作,在第一产品上展示联合授权页面;响应于检测到用户在联合授权页面上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求。

在一些实施例中,发送单元进一步被配置成:获取第二产品集合的授权顺序;将授权顺序添加到联合授权请求中,以及将联合授权请求发送至授权顺序中排序在第一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

在一些实施例中,第一展示单元进一步被配置成:响应于接收到授权顺序中排序在最后一位的第二产品发送的授权成功消息,展示授权成功消息。

在一些实施例中,该装置还包括:第二展示单元,被配置成响应于接收到第二产品序列中的一个第二产品发送的授权失败消息,展示授权失败消息。

第四方面,本申请实施例提出了一种联合授权装置,包括:处理单元,被配置成响应于接收到联合授权请求,处理联合授权请求,其中,联合授权请求是用户在第一产品上发送的或第二产品集合中的一个第二产品串行传递的,其中,第一产品运行时通过调用第二产品集合来提供目标服务;确定单元,被配置成若授权成功,确定第二产品集合中是否存在尚未处理过联合授权请求的第二产品;传递单元,被配置成若存在尚未处理过联合授权请求的第二产品,将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,以使联合授权请求在第二产品集合内部串行处理和传递。

在一些实施例中,确定单元进一步被配置成:从联合授权请求中获取第二产品集合的授权顺序;确定当前第二产品在授权顺序中的排序;若当前第二产品排序在最后一位,确定不存在尚未处理过联合授权请求的第二产品;若当前第二产品不排序在最后一位,确定存在尚未处理过联合授权请求的第二产品。

在一些实施例中,传递单元进一步被配置成:将联合授权请求传递至授权顺序中排序在当前第二产品的下一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

在一些实施例中,处理单元进一步被配置成:验证联合授权请求,解析授权参数,生成授权信息。

在一些实施例中,该装置还包括:添加单元,被配置成将授权信息添加到联合授权请求中。

在一些实施例中,传递单元进一步被配置成:通过授权回调接口将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品。

在一些实施例中,该装置还包括:第一发送单元,被配置成若不存在尚未处理过联合授权请求的第二产品,向用户发送授权成功消息。

在一些实施例中,该装置还包括:第二发送单元,被配置成若授权失败,向用户发送授权失败消息。

第五方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法或实现如第二方面中任一实现方式描述的方法。

第六方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法或实现如第二方面中任一实现方式描述的方法。

本申请实施例提供的联合授权方法和装置,在检测到用户在第一产品上执行联合授权操作的情况下,向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递;在接收到第二产品集合中的预设数目个第二产品发送的授权成功消息的情况下,展示授权成功消息。用户仅需执行一次授权操作,联合授权请求即可在第二产品集合内部串行处理和传递,以完成第一产品运行是调用的所有第二产品的授权,从而简化了用户的授权操作,节省了用户的操作成本,提升了用户体验。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构;

图2是根据本申请的联合授权方法的一个实施例的流程图;

图3是根据本申请的联合授权方法的又一个实施例的流程图;

图4是根据本申请的联合授权方法的另一个实施例的流程图;

图5是根据本申请的联合授权方法的再一个实施例的流程图;

图6是根据本申请的联合授权方法的一个应用场景的示意图;

图7是根据本申请的联合授权装置的一个实施例的结构示意图;

图8是根据本申请的联合授权装置的又一个实施例的结构示意图;

图9是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

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

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的联合授权方法或联合授权装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括设备101、102、103、104、105和网络106。网络106用以在设备101、102、103、104、105之间提供通信链路的介质。网络106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

设备101、102、103、104、105可以是支持网络连接从而提供各种网络服务的硬件设备或软件。当设备为硬件时,其可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。这时,作为硬件设备,其可以实现成多个设备组成的分布式设备群,也可以实现成单个设备。当设备为软件时,可以安装在上述所列举的电子设备中。这时,作为软件,其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。

在实践中,设备可以通过安装相应的客户端应用或服务端应用来提供相应的网络服务。设备在安装了客户端应用之后,其可以在网络通信中体现为客户端。相应地,在安装了服务端应用之后,其可以在网络通信中体现为服务端。

作为示例,在图1中,设备101体现为客户端,而设备102、103、104、105体现为服务端。例如,设备101可以是安装有小程序平台的客户端,设备102可以是小程序平台的服务端,设备103、104、105可以是小程序平台运行时调用的其他产品的服务端。

需要说明的是,本申请实施例所提供的联合授权方法可以由设备101执行,也可以由设备103、104、105执行。

应该理解,图1中的网络和设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络和设备。

继续参考图2,其示出了根据本申请的联合授权方法的一个实施例的流程200。该联合授权方法包括以下步骤:

步骤201,响应于检测到用户在第一产品上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递。

在本实施例中,在检测到用户在第一产品上执行联合授权操作的情况下,联合授权方法运行于其上的终端设备(例如图1所示的设备101)可以向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递。其中,预设数目可以是不大于第二产品集合中的产品数的任意数目。而第二产品集合内部会存在预设数目个串行处理和传递过程。

这里,一个产品可以是一个应用(app,application),也可以是一个应用中的一个或多个功能组件。通常,正常运行一个产品时可以提供一项或多项服务。终端设备上可以安装有第一产品,第一产品的用户可以利用其账号和密码登录第一产品。第一产品运行时需要通过调用第二产品集合来提供目标服务。其中,目标服务可以是具体的某一项或多项服务。例如,第一产品可以是小程序平台,若需要其提供云开发服务,则小程序平台运行时需要调用云函数(cfc)、云存储(bos)和云数据库(mongodb)等多个第二产品。

在本实施例的一些可选的实现方式中,响应于检测到用户执行第一产品的登录操作,终端设备可以向第二产品集合中的预设数目个第二产品发送联合授权请求。这里,第一产品的登录操作就是联合授权操作。

在本实施例的一些可选的实现方式中,响应于检测到用户执行第一产品的登录操作,终端设备可以在第一产品上展示联合授权页面;响应于检测到用户在联合授权页面上执行联合授权操作,终端设备可以向第二产品集合中的预设数目个第二产品发送联合授权请求。其中,联合授权页面可以是登录后展示的第一产品的主页,也可以是登录后弹出的授权提示页面。

通常,在用户登录第一产品之后,终端设备上可以展示联合授权页面。其中,联合授权页面可以用于提示用户对第一产品运行时调用的第二产品集合授权。具体地,联合授权页面上可以设置有授权按键。当用户点击授权按键时,可以认为用户执行了联合授权操作。此外,联合授权页面上还可以展示有第二产品集合中的第二产品的名称,以便于用户确定本次操作所授权的产品。

通常,在检测到联合授权操作的情况下,终端设备可以将联合授权请求传递至第二产品集合中的预设数目个第二产品。其中,联合授权请求的具体实现方式可以为rest(体现为url的嵌套拼接)或rpc的嵌套请求等。联合授权请求中可以包括用户账号、用户签名、用户角色等用户信息。终端设备可以从第二产品集合中确定出预设数目个第二产品,并将联合授权请求发送给所确定出的第二产品。随后,对于接收到联合授权请求的每个第二产品,该第二产品可以处理联合授权请求,进行授权处理,并在授权成功之后,将联合授权请求继续在第二产品集合中串行传递,直至第二产品集合中的所有第二产品对联合授权请求处理完毕。

需要说明的是,第二产品集合中的每个第二产品在授权成功时,才会传递联合授权请求。若存在一个第二产品授权失败,则停止传递联合授权请求。

步骤202,响应于接收到第二产品集合中的预设数目个第二产品发送的授权成功消息,展示授权成功消息。

在本实施例中,在接收到第二产品集合中的预设数目个第二产品发送的授权成功消息的情况下,终端设备可以展示授权成功消息。

通常,在第二产品集合中的所有第二产品均授权成功的情况下,才完成联合授权。因此,对于每个串行处理和传递过程,该过程中的最后授权成功的第二产品会向终端设备发送授权成功消息。若接收到预设数目个授权成功消息,终端设备才会展示授权成功消息,以提示用户第一产品可正常运行来提供目标服务。

本申请实施例提供的联合授权方法,在检测到用户在第一产品上执行联合授权操作的情况下,向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递;在接收到第二产品集合中的预设数目个第二产品发送的授权成功消息的情况下,展示授权成功消息。用户仅需执行一次授权操作,联合授权请求即可在第二产品集合内部串行处理和传递,以完成第一产品运行是调用的所有第二产品的授权,从而简化了用户的授权操作,节省了用户的操作成本,提升了用户体验。

进一步参考图3,其示出了根据本申请的联合授权方法的又一个实施例的流程300。该联合授权方法包括以下步骤:

步骤301,响应于检测到用户在第一产品上执行联合授权操作,获取第二产品集合的授权顺序。

在本实施例中,在检测到用户在第一产品上执行联合授权操作的情况下,联合授权方法运行于其上的终端设备(例如图1所示的设备101)可以获取第二产品集合的授权顺序。

通常,第二产品集合可以包括多个第二产品,其顺序可以是预先约定的顺序。预先约定的顺序可以是任意顺序,任意顺序的第二产品序列皆适用于本实施例。例如,第一产品运行依赖第二产品a、b、c,预先约定的顺序可以是{产品a、产品b、产品c},也可以是{产品c、产品b、产品a}。

步骤302,将授权顺序添加到联合授权请求中,以及将联合授权请求发送至授权顺序中排序在第一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

在本实施例中,终端设备可以将授权顺序添加到联合授权请求中,以及将联合授权请求发送至授权顺序中排序在第一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

具体地,终端设备可以根据授权顺序确定出排序在第一位的第二产品,并将联合授权请求发送给排序在第一位的第二产品。随后,排序在第一位的第二产品可以处理联合授权请求,进行授权处理,并在授权成功之后,根据授权顺序确定出排序在其下一位(第二位)的产品,并将联合授权请求传递至排序在其下一位的产品,以使排序在其下一位的产品处理联合授权请求,进行授权处理,并在授权成功之后,根据授权顺序继续在第二产品集合中串行传递联合授权请求,直至第二产品集合中排序在最后一位的第二产品对联合授权请求处理完毕。

需要说明的是,第二产品集合中的每个第二产品在授权成功时,才会向排序在其下一位的产品传递联合授权请求。若存在一个第二产品授权失败,则停止向下传递联合授权请求。

步骤303,响应于接收到授权顺序中排序在最后一位的第二产品发送的授权成功消息,展示授权成功消息。

在本实施例中,在接收到授权顺序中排序在最后一位的第二产品发送的授权成功消息的情况下,终端设备可以展示授权成功消息。

通常,在第二产品集合中的所有第二产品均授权成功的情况下,排序在最后一位的第二产品会向终端设备发送授权成功消息。此时,终端设备可以展示授权成功消息,以提示用户第一产品可正常运行来提供目标服务。

步骤304,响应于接收到第二产品序列中的一个第二产品发送的授权失败消息,展示授权失败消息。

在本实施例中,在接收到第二产品序列中的一个第二产品发送的授权失败消息的情况下,终端设备可以展示授权失败消息。

通常,第二产品集合中的任意一个第二产品可以在授权失败之后,会向终端设备发送授权失败消息。此时,终端设备可以展示授权失败消息,以提示用户第一产品无法提供目标服务。

从图3中可以看出,与图2对应的实施例相比,本实施例中的联合授权方法的流程300突出了基于授权顺序传递联合授权请求的步骤。由此,本实施例描述的方案基于授权顺序传递联合授权请求,实现了联合授权请求在第二产品序列内部快速地串行传递。

进一步参考图4,其示出了根据本申请的联合授权方法的另一个实施例的流程400。该联合授权方法包括以下步骤:

步骤401,响应于接收到联合授权请求,处理联合授权请求。

在本实施例中,在接收到联合授权请求的情况下,联合授权方法运行于其上的服务器(例如图1所示的设备103、104、105)可以处理联合授权请求,进行授权处理。

这里,一个产品可以是一个应用,也可以是一个应用中的一个或多个功能组件。通常,正常运行一个产品时可以提供一项或多项服务。终端设备(例如图1所示的设备101)上可以安装有第一产品,第一产品的用户可以利用其账号和密码登录第一产品。第一产品运行时需要通过调用第二产品集合来提供目标服务。其中,目标服务可以是具体的某一项或多项服务。例如,第一产品可以是小程序平台,若需要其提供云开发服务,则小程序平台运行时需要调用云函数、云存储和云数据库等多个第二产品。

通常,在检测到联合授权操作的情况下,终端设备可以将联合授权请求传递至第二产品集合中的预设数目个第二产品。其中,联合授权请求的具体实现方式可以为rest或rpc的嵌套请求等。联合授权请求中可以包括用户账号、用户签名、用户角色等用户信息。终端设备可以从第二产品集合中确定出预设数目个第二产品,并将联合授权请求发送给所确定出的第二产品。随后,对于接收到联合授权请求的每个第二产品,该第二产品可以处理联合授权请求,进行授权处理,并在授权成功之后,将联合授权请求传递至第二产品集合中的另一个第二产品,以使该第二产品处理联合授权请求,进行授权处理,并在授权成功之后,将联合授权请求继续在第二产品集合中串行传递,直至第二产品集合中的所有第二产品对联合授权请求处理完毕。其中,预设数目可以是不大于第二产品集合中的产品数的任意数目。而第二产品集合内部会存在预设数目个串行处理和传递过程。

这里,联合授权请求可以是用户在第一产品上发送的或第二产品集合中的一个第二产品串行传递的。通常,若服务器是第二产品集合中第一个处理联合授权请求的第二产品,那么授权请求就是用户在第一产品上发送的;否则,联合授权请求就是第二产品集合中的一个第二产品串行传递的。

在本实施例的一些可选的实现方式中,服务器可以验证联合授权请求,解析授权参数,生成授权信息。其中,联合授权请求中不仅可以包括用户账号、用户签名、用户角色等用户信息。这里,服务器验证联合授权请求中的用户信息,以确定该用户是否具有使用第二产品的权限。若该用户具有使用该第二产品的权限,解析第一产品运行时调用的该第二产品的具体服务的标识(id),以授予该用户运行第一产品时调用第二产品的权限。

步骤402,若授权成功,确定第二产品集合中是否存在尚未处理过联合授权请求的第二产品。

在本实施例中,若授权成功,服务器可以确定第二产品集合中是否存在尚未处理过联合授权请求的第二产品。若存在尚未处理过联合授权请求的第二产品,继续执行步骤403。

步骤403,若存在尚未处理过联合授权请求的第二产品,将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,以使联合授权请求在第二产品集合内部串行处理和传递。

在本实施例中,若存在尚未处理过联合授权请求的第二产品,服务器可以将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,以使联合授权请求在第二产品集合内部串行处理和传递。

通常,尚未处理过联合授权请求的一个第二产品可以处理联合授权请求,进行授权处理,并在授权成功之后,将联合授权请求继续在第二产品集合中串行传递,直至第二产品集合中的所有第二产品对联合授权请求处理完毕。

需要说明的是,第二产品集合中的每个第二产品在授权成功时,才会传递联合授权请求。若存在一个第二产品授权失败,则停止传递联合授权请求。

在本实施例的一些可选的实现方式中,服务器可以验证联合授权请求,解析授权参数,生成授权信息。随后,服务器可以将授权信息添加到联合授权请求中,并将添加有授权信息的联合授权请求继续在第二产品集合中串行传递。

在本实施例的一些可选的实现方式中,服务器可以通过授权回调接口将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品。具体地,第二产品集合中的各个第二产品内部实现授权回调接口,通过授权回调接口可以将第二产品集合中所有第二产品的联合授权请求串联起来。

本申请实施例提供的联合授权方法,接收到联合授权请求的情况下,处理联合授权请求;在授权成功的情况下,确定第二产品集合中是否存在尚未处理过联合授权请求的第二产品;在存在尚未处理过联合授权请求的第二产品的情况下,将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,以使联合授权请求在第二产品集合内部串行处理和传递。用户仅需执行一次授权操作,联合授权请求即可在第二产品集合内部串行处理和传递,以完成第一产品运行是调用的所有第二产品的授权,从而简化了用户的授权操作,节省了用户的操作成本,提升了用户体验。

进一步参考图5,其示出了根据本申请的联合授权方法的再一个实施例的流程500。该联合授权方法包括以下步骤:

步骤501,响应于接收到联合授权请求,处理联合授权请求。

在本实施例中,步骤501的具体操作已在图4所示的实施例中步骤401中进行了详细的介绍,在此不再赘述。

步骤502,若授权成功,从联合授权请求中获取第二产品集合的授权顺序。

在本实施例中,若授权成功,服务器(例如图1所示的设备103、104、105)可以从联合授权请求中获取第二产品集合的授权顺序。其中,联合授权请求中可以包括第二产品集合的授权顺序。

通常,第二产品集合可以包括多个第二产品,其顺序可以是预先约定的顺序。预先约定的顺序可以是任意顺序,任意顺序的第二产品序列皆适用于本实施例。例如,第一产品运行依赖第二产品a、b、c,预先约定的顺序可以是{产品a、产品b、产品c},也可以是{产品c、产品b、产品a}。

步骤503,确定当前第二产品在授权顺序中的排序。

在本实施例中,服务器可以确定当前二产品在授权顺序中的排序。若当前第二产品不排序在最后一位,执行步骤504;若当前第二产品排序在最后一位,执行步骤505。

步骤504,若当前第二产品不排序在最后一位,确定存在尚未处理过联合授权请求的第二产品,以及将联合授权请求传递至授权顺序中排序在当前第二产品的下一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

在本实施例中,若当前第二产品不排序在最后一位,服务器可以确定存在尚未处理过联合授权请求的第二产品。此时,服务器可以将联合授权请求传递至授权顺序中排序在当前第二产品的下一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

具体地,服务器可以根据授权顺序确定出排序在其下一位的第二产品,并将联合授权请求发送给排序在其下一位的第二产品。随后,排序在其下一位的第二产品可以处理联合授权请求,进行授权处理,并在授权成功之后,继续在第二产品集合中串行传递联合授权请求,直至第二产品集合中排序在最后一位的第二产品对联合授权请求处理完毕。

需要说明的是,第二产品集合中的每个第二产品在授权成功时,才会向排序在其下一位的产品传递联合授权请求。若存在一个第二产品授权失败,则停止向下传递联合授权请求。

步骤505,若当前第二产品排序在最后一位,确定不存在尚未处理过联合授权请求的第二产品,以及向用户发送授权成功消息。

在本实施例中,若当前第二产品排序在最后一位,服务器可以确定不存在尚未处理过联合授权请求的第二产品。此时,服务器可以向用户发送授权成功消息。

通常,在第二产品集合中的所有第二产品均授权成功的情况下,排序在最后一位的第二产品会向终端设备发送授权成功消息。此时,终端设备可以展示授权成功消息,以提示用户第一产品可正常运行来提供目标服务。

步骤506,若授权失败,向用户发送授权失败消息。

在本实施例中,若授权失败,服务器可以向用户发送授权失败消息。

通常,第二产品集合中的任意一个第二产品可以在授权失败之后,会向终端设备发送授权失败消息。此时,终端设备可以展示授权失败消息,以提示用户第一产品无法提供目标服务。

从图5中可以看出,与图4对应的实施例相比,本实施例中的联合授权方法的流程500突出了基于授权顺序传递联合授权请求的步骤。由此,本实施例描述的方案基于授权顺序传递联合授权请求,实现了联合授权请求在第二产品序列内部快速地串行传递。

继续参见图6,其示出了根据本申请的联合授权方法的一个应用场景的示意图。如图6所示,产品x运行时需要调用产品a、b、c来提供目标服务。用户利用手机登录产品x。随后,在产品x上展示联合授权页面。用户点击联合联合授权页面上的授权按键,向产品a发送联合授权请求。产品a验证联合授权请求,并进行授权处理。若授权失败,向用户发送授权失败消息,若授权成功,向产品b传递联合授权请求。产品b验证联合授权请求,并进行授权处理。若授权失败,向用户发送授权失败消息,若授权成功,向产品c传递联合授权请求。产品c验证联合授权请求,并进行授权处理。若授权失败,向用户发送授权失败消息,若授权成功,向用户a发送授权成功消息。

进一步参考图7,作为对上述各图所示的方法的实现,本申请提供了一种联合授权装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图7所示,本实施例的联合授权装置700可以包括:发送单元701和第一展示单元702。其中,发送单元701,被配置成响应于检测到用户在第一产品上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递,其中,第一产品运行时通过调用第二产品集合来提供服务;第一展示单元702,被配置成响应于接收到第二产品集合中的预设数目个第二产品发送的授权成功消息,展示授权成功消息。

在本实施例中,联合授权装置700中:发送单元701和第一展示单元702的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-202的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,发送单元701进一步被配置成:响应于检测到用户执行第一产品的登录操作,在第一产品上展示联合授权页面;响应于检测到用户在联合授权页面上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求。

在本实施例的一些可选的实现方式中,发送单元701进一步被配置成:获取第二产品集合的授权顺序;将授权顺序添加到联合授权请求中,以及将联合授权请求发送至授权顺序中排序在第一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

在本实施例的一些可选的实现方式中,第一展示单元702进一步被配置成:响应于接收到授权顺序中排序在最后一位的第二产品发送的授权成功消息,展示授权成功消息。

在本实施例的一些可选的实现方式中,联合授权装置700还包括:第二展示单元(图中未示出),被配置成响应于接收到第二产品序列中的一个第二产品发送的授权失败消息,展示授权失败消息。

进一步参考图8,作为对上述各图所示的方法的实现,本申请提供了一种联合授权装置的一个实施例,该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图8所示,本实施例的联合授权装置800可以包括:处理单元801、确定单元802和传递单元803。其中,处理单元801,被配置成响应于接收到联合授权请求,处理联合授权请求,其中,联合授权请求是用户在第一产品上发送的或第二产品集合中的一个第二产品串行传递的,其中,第一产品运行时通过调用第二产品集合来提供服务;确定单元802,被配置成若授权成功,确定第二产品集合中是否存在尚未处理过联合授权请求的第二产品;传递单元803,被配置成若存在尚未处理过联合授权请求的第二产品,将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,以使联合授权请求在第二产品集合内部串行处理和传递。

在本实施例中,联合授权装置800中:处理单元801、确定单元802和传递单元803的具体处理及其所带来的技术效果可分别参考图4对应实施例中的步骤401-403的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,确定单元802进一步被配置成:从联合授权请求中获取第二产品集合的授权顺序;确定当前第二产品在授权顺序中的排序;若当前第二产品排序在最后一位,确定不存在尚未处理过联合授权请求的第二产品;若当前第二产品不排序在最后一位,确定存在尚未处理过联合授权请求的第二产品。

在本实施例的一些可选的实现方式中,传递单元803进一步被配置成:将联合授权请求传递至授权顺序中排序在当前第二产品的下一位的第二产品,以使联合授权请求按照授权顺序在第二产品集合内部串行处理和传递。

在本实施例的一些可选的实现方式中,处理单元801进一步被配置成:验证联合授权请求,解析授权参数,生成授权信息。

在本实施例的一些可选的实现方式中,联合授权装置800还包括:添加单元(图中未示出),被配置成将授权信息添加到联合授权请求中。

在本实施例的一些可选的实现方式中,传递单元803进一步被配置成:通过授权回调接口将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品。

在本实施例的一些可选的实现方式中,联合授权装置800还包括:第一发送单元(图中未示出),被配置成若不存在尚未处理过联合授权请求的第二产品,向用户发送授权成功消息。

在本实施例的一些可选的实现方式中,联合授权装置800还包括:第二发送单元(图中未示出),被配置成若授权失败,向用户发送授权失败消息。

下面参考图9,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的终端设备101或服务器103、104、105)的计算机系统900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有系统900操作所需的各种程序和数据。cpu901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。

以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本申请的方法中限定的上述功能。

需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向目标的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或电子设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元和第一展示单元。其中,这些单元的名称在种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“响应于检测到用户在第一产品上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递”。又例如,可以描述为:一种处理器包括处理单元、确定单元和传递单元。其中,这些单元的名称在种情况下并不构成对该单元本身的限定,例如,处理单元还可以被描述为“响应于接收到联合授权请求,处理联合授权请求的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于检测到用户在第一产品上执行联合授权操作,向第二产品集合中的预设数目个第二产品发送联合授权请求,以使联合授权请求在第二产品集合内部串行处理和传递,其中,第一产品运行时通过调用第二产品集合来提供服务;响应于接收到第二产品集合中的预设数目个第二产品发送的授权成功消息,展示授权成功消息。或者使得该电子设备:响应于接收到联合授权请求,处理联合授权请求,其中,联合授权请求是用户在第一产品上发送的或第二产品集合中的一个第二产品串行传递的,其中,第一产品运行时通过调用第二产品集合来提供服务;若授权成功,确定第二产品集合中是否存在尚未处理过联合授权请求的第二产品;若存在尚未处理过联合授权请求的第二产品,将联合授权请求传递至第二产品集合中尚未处理过联合授权请求的一个第二产品,以使联合授权请求在第二产品集合内部串行处理和传递。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1