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

应用业务访问方法、装置、计算机设备、存储介质

文献发布时间:2024-04-18 19:58:30


应用业务访问方法、装置、计算机设备、存储介质

技术领域

本申请涉及互联网技术领域,特别是涉及一种应用业务访问方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

随着互联网技术的发展,出现了不同需求的应用。为了便于人们的使用,不同应用之间可以进行相互访问。

在相关技术中,通过对不同应用的客户端进行开发,以实现不同应用之间的业务访问。即对于被访问应用,若其他应用要访问待访问应用,则需要其他应用所对应的客户端来唤起被访问的应用所对应的客户端。然而,一旦涉及到其他应用的应用页面需要对被访问应用进行业务访问,存在应用页面无法进行业务访问的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够实现应用页面的应用业务访问方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

本申请提供了一种应用业务访问方法,应用于第一应用。所述方法包括:

在以目标账号登录后,开启网页请求代理服务;

通过所述网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;所述内嵌对象用于在所述第二应用的应用页面中访问所述第一应用的目标业务,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

发送所述第一网页请求及所述目标账号的登录态信息至第一应用服务器;

若所述第一应用接收到所述第一应用服务器根据所述第一网页请求携带的校验信息与所述登录态信息校验成功的响应应答,则将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面,以在所述应用页面中访问所述目标业务。

本申请还提供了一种应用业务访问装置。所述装置包括:

第一开启模块,用于在以目标账号登录后,开启网页请求代理服务;

第一接收模块,用于通过所述网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;所述内嵌对象用于在所述第二应用的应用页面中访问所述第一应用的目标业务,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

第一发送模块,用于发送所述第一网页请求及所述目标账号的登录态信息至第一应用服务器;

第一返回模块,用于若所述第一应用接收到所述第一应用服务器根据所述第一网页请求携带的校验信息与所述登录态信息校验成功的响应应答,则将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面,以在所述应用页面中访问所述目标业务。

本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

在以目标账号登录后,开启网页请求代理服务;

通过所述网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;所述内嵌对象用于在所述第二应用的应用页面中访问所述第一应用的目标业务,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

发送所述第一网页请求及所述目标账号的登录态信息至第一应用服务器;

若所述第一应用接收到所述第一应用服务器根据所述第一网页请求携带的校验信息与所述登录态信息校验成功的响应应答,则将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面,以在所述应用页面中访问所述目标业务。

本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

在以目标账号登录后,开启网页请求代理服务;

通过所述网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;所述内嵌对象用于在所述第二应用的应用页面中访问所述第一应用的目标业务,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

发送所述第一网页请求及所述目标账号的登录态信息至第一应用服务器;

若所述第一应用接收到所述第一应用服务器根据所述第一网页请求携带的校验信息与所述登录态信息校验成功的响应应答,则将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面,以在所述应用页面中访问所述目标业务。

本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

在以目标账号登录后,开启网页请求代理服务;

通过所述网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;所述内嵌对象用于在所述第二应用的应用页面中访问所述第一应用的目标业务,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

发送所述第一网页请求及所述目标账号的登录态信息至第一应用服务器;

若所述第一应用接收到所述第一应用服务器根据所述第一网页请求携带的校验信息与所述登录态信息校验成功的响应应答,则将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面,以在所述应用页面中访问所述目标业务。

上述应用业务访问方法、装置、计算机设备、存储介质和计算机程序产品,通过在以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的;发送第一网页请求及目标账号的登录态信息至第一应用服务器;若第一应用接收到第一应用服务器根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。这样,在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面发送的第一网页请求,并能够让第一应用将第一网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

本申请提供了一种应用信息访问方法,应用于第一应用。所述方法包括:

在以目标账号登录后,开启网页请求代理服务;

通过所述网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;所述第二网页请求用于确认所述第一应用是否处于登录态;

发送所述第二网页请求与所述目标账号的登录态信息至第一应用服务器;

若所述第一应用接收到所述第一应用服务器根据所述第二网页请求以及所述登录态信息的响应应答,则将所述目标账号的账号信息返回至所述第二应用的应用页面创建的所述登录组件,以指示所述登录组件展示以所述目标账号登录所述第二应用的登录界面。

本申请还提供了一种应用信息访问装置。所述装置包括:

第二开启模块,用于在以目标账号登录后,开启网页请求代理服务;

第二接收模块,用于通过所述网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;所述第二网页请求用于确认所述第一应用是否处于登录态;

第二发送模块,用于发送所述第二网页请求与所述目标账号的登录态信息至第一应用服务器;

第二返回模块,用于若所述第一应用接收到所述第一应用服务器根据所述第二网页请求以及所述登录态信息的响应应答,则将所述目标账号的账号信息返回至所述第二应用的应用页面创建的所述登录组件,以指示所述登录组件展示以所述目标账号登录所述第二应用的登录界面。

本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

在以目标账号登录后,开启网页请求代理服务;

通过所述网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;所述第二网页请求用于确认所述第一应用是否处于登录态;

发送所述第二网页请求与所述目标账号的登录态信息至第一应用服务器;

若所述第一应用接收到所述第一应用服务器根据所述第二网页请求以及所述登录态信息的响应应答,则将所述目标账号的账号信息返回至所述第二应用的应用页面创建的所述登录组件,以指示所述登录组件展示以所述目标账号登录所述第二应用的登录界面。

本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

在以目标账号登录后,开启网页请求代理服务;

通过所述网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;所述第二网页请求用于确认所述第一应用是否处于登录态;

发送所述第二网页请求与所述目标账号的登录态信息至第一应用服务器;

若所述第一应用接收到所述第一应用服务器根据所述第二网页请求以及所述登录态信息的响应应答,则将所述目标账号的账号信息返回至所述第二应用的应用页面创建的所述登录组件,以指示所述登录组件展示以所述目标账号登录所述第二应用的登录界面。

本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

在以目标账号登录后,开启网页请求代理服务;

通过所述网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;所述第二网页请求用于确认所述第一应用是否处于登录态;

发送所述第二网页请求与所述目标账号的登录态信息至第一应用服务器;

若所述第一应用接收到所述第一应用服务器根据所述第二网页请求以及所述登录态信息的响应应答,则将所述目标账号的账号信息返回至所述第二应用的应用页面创建的所述登录组件,以指示所述登录组件展示以所述目标账号登录所述第二应用的登录界面。

上述应用信息访问方法、装置、计算机设备、存储介质和计算机程序产品,通过在以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;第二网页请求用于确认第一应用是否处于登录态;发送第二网页请求与目标账号的登录态信息至第一应用服务器;若第一应用接收到第一应用服务器根据第二网页请求以及登录态信息的响应应答,则将目标账号的账号信息返回至第二应用的应用页面创建的登录组件,以指示登录组件展示以目标账号登录第二应用的登录界面。这样,在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面所创建的登录组件所发送的第二网页请求,并能够让第一应用将第二网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

本申请提供了一种应用业务访问方法。所述方法包括:

通过第二应用的应用页面创建针对目标业务的内嵌对象;所述内嵌对象用于在所述应用页面中访问第一应用的目标业务;

通过所述内嵌对象向所述第一应用发送第一网页请求,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

通过所述第一应用在处于登录态时所开启的网页请求代理服务接收所述第一网页请求,将所述第一网页请求以及所述第一应用的登录态信息发送至第一应用服务器;

通过所述第一应用,在接收所述第一应用服务器根据所述第一网页请求与所述登录态信息校验成功并返回的响应应答后,将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面。

本申请还提供了一种应用业务访问装置。所述装置包括:

创建模块,用于通过第二应用的应用页面创建针对目标业务的内嵌对象;所述内嵌对象用于在所述应用页面中访问第一应用的目标业务;

第三发送模块,用于通过所述内嵌对象向所述第一应用发送第一网页请求,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

所述第三发送模块,用于通过所述第一应用在处于登录态时所开启的网页请求代理服务接收所述第一网页请求,将所述第一网页请求以及所述第一应用的登录态信息发送至第一应用服务器;

第三返回模块,用于通过所述第一应用,在接收所述第一应用服务器根据所述第一网页请求与所述登录态信息校验成功并返回的响应应答后,将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面。

本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

通过第二应用的应用页面创建针对目标业务的内嵌对象;所述内嵌对象用于在所述应用页面中访问第一应用的目标业务;

通过所述内嵌对象向所述第一应用发送第一网页请求,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

通过所述第一应用在处于登录态时所开启的网页请求代理服务接收所述第一网页请求,将所述第一网页请求以及所述第一应用的登录态信息发送至第一应用服务器;

通过所述第一应用,在接收所述第一应用服务器根据所述第一网页请求与所述登录态信息校验成功并返回的响应应答后,将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面。

本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

通过第二应用的应用页面创建针对目标业务的内嵌对象;所述内嵌对象用于在所述应用页面中访问第一应用的目标业务;

通过所述内嵌对象向所述第一应用发送第一网页请求,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

通过所述第一应用在处于登录态时所开启的网页请求代理服务接收所述第一网页请求,将所述第一网页请求以及所述第一应用的登录态信息发送至第一应用服务器;

通过所述第一应用,在接收所述第一应用服务器根据所述第一网页请求与所述登录态信息校验成功并返回的响应应答后,将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面。

本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

通过第二应用的应用页面创建针对目标业务的内嵌对象;所述内嵌对象用于在所述应用页面中访问第一应用的目标业务;

通过所述内嵌对象向所述第一应用发送第一网页请求,所述第一网页请求携带所述第二应用访问所述目标业务所需的校验信息,所述校验信息是所述第二应用从第一应用服务器获得的;

通过所述第一应用在处于登录态时所开启的网页请求代理服务接收所述第一网页请求,将所述第一网页请求以及所述第一应用的登录态信息发送至第一应用服务器;

通过所述第一应用,在接收所述第一应用服务器根据所述第一网页请求与所述登录态信息校验成功并返回的响应应答后,将所述第一应用中所述目标业务的原生页面内容返回至所述第二应用的所述应用页面。

上述应用业务访问方法、装置、计算机设备、存储介质和计算机程序产品,通过第二应用的应用页面创建针对目标业务的内嵌对象;内嵌对象用于在应用页面中访问第一应用的目标业务;通过内嵌对象向第一应用发送第一网页请求,第一网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的;通过第一应用在处于登录态时所开启的网页请求代理服务接收第一网页请求,将第一网页请求以及第一应用的登录态信息发送至第一应用服务器;通过第一应用,在接收第一应用服务器根据第一网页请求与登录态信息校验成功并返回的响应应答后,将第一应用中目标业务的原生页面内容返回至第二应用的应用页面。这样,在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面发送的第一网页请求,并能够让第一应用将第一网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

附图说明

图1为一个实施例中应用业务访问方法的应用环境图;

图2为一个实施例中应用业务访问方法的流程示意图;

图3A为一个实施例中选人业务的原生选人界面的示意图;

图3B为实施例中选人业务完成的应用页面的示意图;

图4A为一个实施例中分享业务的原生分享界面的示意图;

图4B为一个实施例中分享业务完成的应用页面的示意图;

图5为一个实施例中选人业务的流程示意图;

图6A为一个实施例中选人业务失败的界面示意图;

图6B为另一个实施例中选人业务失败的界面示意图;

图6C为另一个实施例中选人业务失败的界面示意图;

图6D为另一个实施例中选人业务失败的界面示意图;

图7为一个实施例中分享业务的流程示意图;

图8A为一个实施例中分享业务失败的界面示意图;

图8B为另一个实施例中分享业务失败的界面示意图;

图9为一个实施例中应用信息访问方法的流程示意图;

图10A为一个实施例中快速登录的登录界面的示意图;

图10B为另一个实施例中快速登录的登录界面的示意图;

图11为一个实施例中第二应用成功登录的示意图;

图12为一个实施例中登录业务的流程示意图;

图13为另一实施例中登录业务的流程示意图;

图14A为一个实施例中扫码登录的登录界面的示意图;

图14B另一个实施例中扫码登录的登录界面的示意图;

图15为另一个实施例中应用业务访问方法的流程示意图;

图16为一个实施例中应用业务访问装置的结构框图;

图17为一个实施例中应用信息访问装置的结构框图;

图18为另一个实施例中应用业务访问装置的结构框图;

图19为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

为便于理解,首先对相关概念进行阐述。

第三方服务商:提供应用开发、软硬件解决方案等服务商。

自建应用:企业里自行创建的应用,如企业中的HR(Human Resources,人力资源)助手。

扫码登录:使用移动端应用,扫描登录二维码进行登录。。

快速登录:在桌面端的第一应用登录后,网页浏览器可点击按钮直接登录。

Schema:浏览器唤起客户端的uri(Uniform Resource Identifier,统一资源标识符),如wxwork://。

HTTPS服务:网页发送的加密的HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求。

corpId:当前用户所属企业ID创建企业后产生,永久有效,全局唯一。

authCode:登录成功后给业务返回的code(凭证),可理解为临时授权凭证,API(Application Programming Interface,应用程序编程接口)根据该临时授权凭证获取用户信息。

webToken:用于标记当前用户身份(企业+应用+用户),可理解为接口调用凭证,消费authCode后产生。

callid:用户每一次操作的id(Identity document,身份标识号),记录状态及操作结果。

jsapi_signature:根据url(uniform resource locator,统一资源定位系统)生成JSAPI(JS接口)签名,通过对参数哈希而产生,标识页面合法性来源。

相关技术中,对于不同应用之间的业务访问,比如第二应用对第一应用进行业务访问,由于涉及到数据、接口安全性的问题,无法在第二应用的应用页面提供第一应用的相关接口,即无法实现第二应用的应用页面对第一应用进行相应的业务访问。

本申请实施例提供的应用业务访问方法,通过在以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的;发送第一网页请求及目标账号的登录态信息至第一应用服务器;若第一应用接收到第一应用服务器根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。这样,在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面发送的第一网页请求,并能够让第一应用将第一网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

本申请实施例提供的应用业务访问方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。其中,终端102上部署了第一应用和第二应用。当然,第一应用和第二应用为不同的两个应用。

在一个实施例中,在终端102中的第一应用以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收终端102中的第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在终端102中的第二应用的应用页面中访问第一应用的目标业务,网页请求携带终端102中的第二应用访问目标业务所需的校验信息,校验信息是终端102中的第二应用从第一应用服务104器获得的;发送第一网页请求及目标账号的登录态信息至第一应用服务器104;若终端102中的第一应用接收到第一应用服务器104根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将终端102中的第一应用中目标业务的原生页面内容返回至终端102中的第二应用的应用页面,以在应用页面中访问目标业务。

其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。第一应用服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种应用业务访问方法,以该方法应用于图1中的终端102中第一应用为例进行说明,包括以下步骤:

步骤202,在以目标账号登录后,开启网页请求代理服务。

其中,目标账号关联与之对应的一个企业,该目标账号为第一应用的账号。可选地,第一应用可以是社交应用、支付应用、视频应用、游戏应用等。例如,社交应用可以是即时通信应用、直播应用等,具体不做限定。网页请求代理服务用于实现第一应用服务器、终端中的第一应用和第二应用之间的通信,因此,开启了网页请求代理服务意味着开发了第一应用服务器、终端中的第一应用和第二应用之间的通信能力。可选地,网页请求代理服务为http(Hyper Text Transfer Protocol,超文本传输协议)服务。可选地,为了确保通信的安全性,可以利用加密的http协议(即https协议)来实现第一应用服务器、终端中的第一应用和第二应用之间的安全通信。

可选地,在终端中的第一应用以目标账号登录后,开启网页请求代理服务器。示例性的,终端中的第一应用为桌面客户端的应用。在桌面客户端的第一应用以目标账号登录后,桌面客户端开启网页请求代理服务。

例如,即时通信应用的桌面客户端以目标账号登录,也即是,即时通信应用的桌面客户端的登录状态为目标账号已登录,即时通信应用的桌面客户端开启本地的网页请求代理服务。

步骤204,通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,第一网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的。

其中,第二应用可以为自建应用,也可以为第三方应用。对于目标账号所关联的企业,第二应用可以为该企业自建的自建应用,第二应用也可以是第三方服务商为该企业所创建的第三方应用。第二应用可以是网页应用。

内嵌对象放置在应用页面中的指定区域,该内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,即响应于在应用页面中的与该目标业务对应的触发事件,调用第一应用中与目标业务对应的原生界面,以访问第一应用的目标业务。可选地,目标业务为选人业务,第二应用要调用选人业务的信息,即调用第一应用中原生选人界面,则通过用户点击应用页面中的选人按钮,该选人按钮所在区域为选人业务所对应的内嵌对象放置的区域。可选地,目标业务为分享业务,第二应用要调用分享业务的信息,即调用第一应用中的原生分享界面,则通过用户点击应用页面中的分享按钮,该分享按钮所在区域为分享业务所对应的内嵌对象放置的区域。可选地,内嵌对象为iframe(即HTML(Hyper Text MarkupLanguage tag,超文本标记语言标签)标签)。

可选地,在内嵌对象检测到针对该内嵌对象的触发事件时,第二应用从第一应用服务器获取校验信息,第二应用的应用页面创建的内嵌对象发送携带该校验信息的第一网页请求至第一应用,第一应用通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求。该触发事件为用户点击与目标业务对应的按钮,该按钮所在区域放置了与目标业务对应的内嵌对象。

示例性地,当用户点击与目标业务对应的按钮时,放置在该按钮所在区域的内嵌对象检测到针对该内嵌对象的触发事件时,第二应用从第一应用服务器获取校验信息,第二应用的应用页面创建的内嵌对象发送携带该校验信息的第一网页请求至第一应用,第一应用通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求。

例如,当用户点击与选人业务对应的选人按钮时,放置在该选人按钮所在区域的内嵌对象检测到针对该内嵌对象的触发事件时,第二应用从第一应用服务器中获取与选人业务对应的校验信息,第二应用的应用页面创建的内嵌对象发送携带该校验信息的第一网页请求至第一应用,该第一网页请求是与选人业务对应的请求,第一应用通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的与选人业务对应的第一网页请求。

又例如,当用户点击与分享业务对应的分享按钮时,放置在该分享按钮所在区域的内嵌对象检测到针对该内嵌对象的触发事件时,第二应用从第一应用服务器中获取与分享业务对应的校验信息,第二应用的应用页面创建的内嵌对象发送携带该校验信息的第一网页请求至第一应用,该第一网页请求是与分享业务对应的请求,第一应用通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的与分享业务对应的第一网页请求。

步骤206,发送第一网页请求及目标账号的登录态信息至第一应用服务器。

其中,登录态信息表征目标账号是否登录的信息,该登录态信息包括目标账号已登录的信息和目标账号未登录的信息。

可选地,第一应用获取目标账号的登录态信息,并第一应用将与目标业务对应的第一网页请求及目标账号的登录态信息发送至第一应用服务器。

步骤208,若第一应用接收到第一应用服务器根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。

可选地,第一应用服务器接收第一网页请求及目标账号的登录态信息,第一应用服务器根据该登录态信息和该第一网页请求中的校验信息进行校验,若校验结果表征校验成功,则第一应用服务器发送响应应答给第一应用,第一应用将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。其中,校验结果表征校验成功则说明该第一网页请求为合法的请求。

示例性地,目标业务为选人业务,第一应用服务器接收与选人业务对应的第一网页请求及目标账号的登录态信息,第一应用服务器根据该登录态信息和该第一网页请求中的校验信息进行校验。若与选人业务对应的校验结果表征校验成功,则第一应用服务器发送响应应答给第一应用,第一应用将第一应用中目标业务的原生选人界面内容返回至第二应用的应用页面,以在该应用页面中访问选人业务。该原生选人界面包括目标账号所关联企业的至少一个用户、或者至少一个消息群。

可选地,目标业务为分享业务,第一应用服务器接收与分享业务对应的第一网页请求及目标账号的登录态信息,第一应用服务器根据该登录态信息和该第一网页请求中的校验信息进行校验。若与分享业务对应的校验结果表征校验成功,则第一应用服务器发送响应应答给第一应用,第一应用将第一应用中目标业务的原生分享界面内容返回至第二应用的应用页面,以将分享按钮所对应的分享链接发送至原生分享界面。该分享链接展示了第二应用的标识、或者第二应用的名称,或者第二应用的标识和名称。

上述应用业务访问方法,通过在以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的;发送第一网页请求及目标账号的登录态信息至第一应用服务器;若第一应用接收到第一应用服务器根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。这样,在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面发送的第一网页请求,并能够让第一应用将第一网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

在一个实施例中,第二应用的应用页面创建内嵌对象的步骤包括:通过第二应用,根据目标业务的业务接口名与目标业务的业务接口调用参数,调用第一应用服务器的内嵌对象创建接口,业务接口调用参数包括内嵌对象的绘制参数;接收第一应用服务器按绘制参数绘制并返回的内嵌对象;在第二应用的应用页面中展示内嵌对象。

可选地,通过第二应用中的sdk(Software Development Kit,软件开发工具包),根据目标业务的业务接口名与目标业务的接口调用参数,调用第一应用服务器的内嵌对象创建接口。该内嵌对象创建接口用于指示第一应用服务器按绘制参数绘制内嵌对象。第二应用中的sdk接收第一应用服务器绘制得到的内嵌对象,然后第二应用中的sdk将该内嵌对象返回至第二应用的应用页面,并在第二应用的应用页面中展示该内嵌对象。

示例性的,目标业务包括选人业务和分享业务。对于选人业务,通过第二应用中的sdk,根据选人业务的业务接口名SelectEnterpriseContact和目标业务的接口调用参数,调用第一应用服务器的与选人业务对应的内嵌对象创建接口。与选人业务对应的内嵌对象创建接口用于指示第一应用服务器按绘制参数绘制与选人业务对应的内嵌对象。第二应用中的sdk接收第一应用服务器绘制得到的与选人业务对应的内嵌对象,并将与选人业务对应的内嵌对象发送给第二应用的应用页面,并在第二应用的应用页面中展示该内嵌对象。对于分享业务,通过第二应用中的sdk,根据分享业务的业务接口名shareAPPMessage和目标业务的接口调用参数,调用第一应用服务器的与分享业务对应的内嵌对象创建接口。与分享业务对应的内嵌对象创建接口用于指示第一应用服务器按绘制参数绘制与分享业务对应的内嵌对象。第二应用中的sdk接收第一应用服务器绘制得到的与分享业务对应的内嵌对象,并将与选人业务对应的内嵌对象发送给第二应用的应用页面,并在第二应用的应用页面中展示该内嵌对象。

在本实施例中,通过第二应用,根据目标业务的业务接口名与目标业务的业务接口调用参数,调用第一应用服务器的内嵌对象创建接口,业务接口调用参数包括内嵌对象的绘制参数;接收第一应用服务器按绘制参数绘制内嵌对象,从而,能够得到与目标业务需求相匹配的内嵌对象。然后,通过返回内嵌对象,并在第二应用的应用页面中展示内嵌对象,使得用户能够根据该展示的内嵌对象触发与目标业务对应的操作。

在一个实施例中,在第二应用的应用页面创建内嵌对象之前,还包括通过第二应用获得鉴权参数的步骤,步骤包括:通过以当前账号登录的第二应用,根据当前账号,从第一应用服务器获得第二应用的鉴权参数,鉴权参数用于指示当前账号所关联企业的企业标识、所关联企业授权的应用标识或第二应用的可见范围中的至少一种。

可选地,在第二应用的应用页面创建与目标业务对应的内嵌对象之前,通过以当前账号登录的第二应用,根据当前账号,从第一应用服务器获取与当前账号对应的第二应用的鉴权参数。该鉴权参数用于校验第一网页请求是否为合法的请求,若鉴权参数中每个子参数均为授权的参数,则确定该鉴权参数为合法的鉴权参数。若鉴权参数中存在一个参数不为授权的参数,则确定该鉴权参数不为合法的鉴权参数,进而,根据不为合法的鉴权参数确定该第一网页请求不为合法的请求。其中,鉴权参数包括至少一个子参数,子参数可以是当前账号所关联企业的企业标识,也可以是所关联企业授权的应用标识,也可以是第二应用的可见范围。

示例性地,当目标业务为选人业务时,在第二应用地应用页面创建与选人业务对应的内嵌对象之前,该第二应用的当前账号为目标账号,即第一应用的目标账号登录了第二应用。此时,根据当前账号,第二应用从第一应用服务器获取与当前账号对应的第二应用的与选人业务对应的鉴权参数(即agentConfigParams)。其中,与选人业务对应的鉴权参数用于指示当前账号所关联企业的企业标识、所关联企业授权的应用标识或第二应用的可见范围中的至少一种。其中,若第二应用为自建应用,则应用标识为自建应用标识,若第二应用为第三方服务商创建的第三方应用,则应用标识为第三方应用信息,此时,与选人业务对应的鉴权参数还可以包括第三方服务器商的服务商信息。

示例性地,当目标业务为分享业务时,在第二应用地应用页面创建与分享业务对应的内嵌对象之前,第二应用可以登录目标账号,也可以不登录目标账号,本例以第二应用登录目标账号为例,具体地:该第二应用的当前账号为目标账号,即第一应用的目标账号登录了第二应用。此时,根据当前账号,第二应用从第一应用服务器获取与当前账号对应的第二应用的与分享业务对应的鉴权参数(即agentConfigParams)。其中,与分享业务对应的鉴权参数用于指示当前账号所关联企业的企业标识、所关联企业授权的应用标识或第二应用的可见范围中的至少一种。其中,若第二应用为自建应用,则应用标识为自建应用标识,若第二应用为第三方服务商创建的第三方应用,则应用标识为第三方应用信息,此时,与分享业务对应的鉴权参数还可以包括第三方服务器商的服务商信息。

需要说明的是,若第二应用不登录目标账号,则第二应用获取与分享业务对应的鉴权参数(即suiteConfigParams),此时,该鉴权参数用于指示该应用页面的页面标识。若该页面标识表征该应用页面为授权的页面,即第三方服务商的应用页面的页面标识为已登记的合法页面,则确定鉴权参数为合法的鉴权参数。若该页面标识表征该应用页面不为授权的页面,则确定该鉴权参数不为合法的鉴权参数,进而,根据不为合法的鉴权参数确定该第一网页请求不为合法的请求。

在本实施例中,在第二应用的应用页面创建内嵌对象之前,需要通过第二应用获取鉴权参数,即通过以当前账号登录的第二应用,能够根据当前账号准确获取到第二应用的鉴权参数,从而,有利于后续对第一网页请求所携带的校验信息进行有效校验,以确保后续在应用页面中访问目标业务的合法性。

在一个实施例中,通过内嵌对象发送第一网页请求的步骤包括:在内嵌对象检测到针对内嵌对象的触发事件时,通过内嵌对象向第二应用请求校验信息,校验信息包括第二应用访问第一应用服务器的接口所需的接口调用凭证与鉴权参数;通过内嵌对象根据校验信息向第一应用的网页请求代理服务发起的第一网页请求。

可选地,在内嵌对象检测到针对内嵌对象的触发事件时,通过内嵌对象向第二应用中的sdk请求校验信息。第二应用中的sdk将校验信息发送给内嵌对象。通过内嵌对象根据校验信息向第一应用的网页请求代理服务发起的第一网页请求。

示例性地,在与目标业务对应的内嵌对象检测到针对该内嵌对象的触发事件时,通过该内嵌对象向第二应用中的与目标业务对应的sdk请求校验信息。第二应用中的与目标业务对应的sdk将校验信息发送给内嵌对象。内嵌对象根据目标业务对应的接口参数和校验信息向第一应用所在的桌面客户端发起的第一网页请求。即,该第一网页请求中携带接口参数和校验信息。其中,在创建与目标业务对应的内嵌对象之前,第二应用初始化与目标业务对应的sdk,以使得与目标业务对应的sdk获取校验信息。

例如,在用户点击了与目标业务对应的按钮时,放置在该按钮所在区域的内嵌对象检测到针对该内嵌对象的触发事件时,通过内嵌对象向第二应用中的sdk(SoftwareDevelopment Kit,软件开发工具包)请求校验信息,校验信息包括第二应用访问第一应用服务器的接口所需的接口调用凭证(Webtoken)与鉴权参数。第二应用中的与目标业务对应的sdk将第二应用访问第一应用服务器的接口所需的接口调用凭证(Webtoken)、鉴权参数(agentConfigParams)发送给内嵌对象。内嵌对象根据接口调用凭证(Webtoken)、鉴权参数(agentConfigParams)确定第一网页请求,并将该第一网页请求和接口参数(InvokeJSAPI)发送给第一应用所在的桌面客户端。即,该第一网页请求中携带接口调用凭证、鉴权参数。该举例中应用页面均为登录态,即目标账号在应用页面中进行了登录。

在本实施例中,在内嵌对象检测到针对内嵌对象的触发操作时,该内嵌对象才能够向第二应用请求校验信息,根据该校验信息中的接口调用凭证和鉴权参数生成向第一应用的网页请求代理服务发起的第一网页请求。这样,能够及时校验第一网页请求的有效性,从而,能够确保后续在应用页面中访问目标业务的合法性。

在一个实施例中,发送第一网页请求及目标账号的登录态信息至第一应用服务器,包括:在第一应用处于以目标账号登录的情况下,转发第一网页请求及目标账号的登录态信息至第一应用服务器;在第一应用处于未登录态的情况下,从第二应用跳转至第一应用以执行登录操作,在第一应用以目标账号登录后,返回第二应用并发送第一网页请求及目标账号的登录态信息至第一应用服务器。

可选地,在第一应用处于以目标账号登录的情况下,转发该第一网页请求及目标账号的登录态信息至第一应用服务器。在第一应用处于未登录态的情况下,从第二应用跳转至第一应用以执行登录操作,在第一应用以目标账号登录后,开启网页请求代理服务,并返回第二应用,第二应用的应用页面创建的内嵌对象通过网页请求代理服务发送第一网页请求及目标账号的登录态信息至第一应用服务器。

需要说明的是,在本实施例中,在第一应用接收到第一网页请求之后,第一应用的登录状态仍然为已登录的状态,即,第一应用处于以目标账号登录的情况。与此同时,第一应用也可能出现目标账号不登录的情况,比如终端突然重启、或者终端突然断网等,第一应用会处于未登录态,此时,需要跳转至第一应用重新登录该目标账号,重新开启网页请求代理服务。

示例性地,在第一应用处于以目标账号登录的情况下,第一应用所在的桌面客户端转发该第一网页请求及目标账号的登录态信息至第一应用服务器。在第一应用处于未登录态的情况下,从第二应用跳转至第一应用以执行登录操作,在第一应用以目标账号登录后,第一应用的桌面客户端开启网页请求代理服务,并返回第二应用,第二应用的应用页面创建的内嵌对象通过网页请求代理服务发送第一网页请求及目标账号的登录态信息至第一应用服务器。

在本实施例中,在第一应用向第一应用服务器进行通信的过程中,若第一应用处于以目标账号登录,则确定当前网页请求代理服务是开启的,因此,直接转发第一网页请求及目标账号的登录态信息至第一应用服务器。若第一应用因出现异常情况而使得第一应用从已登录状态转为未登录状态,为确保将第一网页请求和目标账号的登录态信息发送至第一应用服务器,则需要重新登录第一应用,在第一应用以目标账号登录后,返回第二应用,并再次发送第一网页请求及目标账号的登录态信息至第一应用服务器。这样,确保了第一应用服务器能够及时高效的接收到第一网页请求和目标账号的登录态信息。

在一个实施例中,所述目标账号的登录态信息包括所述目标账号以及所述目标账号所关联企业的企业标识;所述校验信息包括鉴权参数;所述第一应用服务器根据所述第一网页请求携带的校验信息与所述登录态信息进行校验的步骤包括:在所述第一应用服务器接收到所述第一网页请求与所述登录态信息的情况下,通过所述第一应用服务器查询与所述企业标识对应的授权信息;若所述鉴权参数与所述授权信息匹配,则向所述第一应用返回校验成功的响应应答。

可选地,在第一应用服务器接收到该第一网页请求与登录态信息的情况下,确定与目标账号所关联企业的企业标识,第一应用服务器查询与该企业标识对应的授权信息。第一应用服务器根据该鉴权参数和授权信息,判断该鉴权参数是否与授权信息匹配。若该鉴权参数与该授权信息匹配,则第一应用服务器向第一应用返回校验成功的响应应答。

若该鉴权参数与该授权信息不匹配,则第一应用服务器返回错误信息给第一应用,该第一应用将该错误信息返回该内嵌对象,该内嵌对象通过失败回调的函数,将错误信息返回给应用页面,并结束流程。

在本实施例中,第一应用服务器通过将鉴权参数与授权信息进行比较,能够反映出当前鉴权参数是否与授权信息是匹配的,从而可以确保后续进行的目标业务是合法的。

在一个实施例中,所述方法还包括在所述应用页面中触发所述目标业务的步骤,所述步骤包括:通过所述第二应用的所述应用页面,展示所述目标业务的原生页面内容,响应于对所述原生页面内容的触发操作,在所述应用页面中触发所述目标业务的执行。

可选地,在第一应用将第一应用中目标业务的原生页面内容返回至第二应用的应用页面之后,在该应用页面中触发该目标业务。也即是,通过第二应用的应用页面,展示该目标业务的原生页面内容。响应于对原生页面内容的触发操作,在该应用页面中触发该目标业务的执行。

示例性地,在第一应用将第一应用中目标业务的原生页面内容返回至第二应用的应用页面之后,在该应用页面中触发该目标业务。内嵌对象获取由第一应用发送的事务标识,该事务标识是第一应用服务器在唤起原生页面内容时生成的,第一应用服务器将该事务标识发送给第一应用。该事务标识记录了用户对原生页面内容的触发操作时执行目标业务时的执行状态和执行结果。该事务标识用于查询与目标业务对应的执行结果。

内嵌对象通过将该事务标识发送给第一应用,以轮询该执行结果。具体地,内嵌对象传输事务标识给第一应用,第一应用将事务标识透传给第一应用服务器。第一应用服务器根据该事务标识查询与目标业务对应的执行结果,并将该执行结果返回给第一应用,第一应用将该执行结果返回给内嵌对象,内嵌对象根据所接收到的执行结果,退出轮询,并将该执行结果返回给第二应用的sdk,第二应用的sdk通过调用函数,将该执行结果返回给第二应用的应用页面。若第一应用服务器没有查询到与目标业务对应的执行结果,即内嵌对象没有收到执行结果,则内嵌对象等待一段时间,直至收到该执行结果时为止。

示例性地,如图3A所示,为选人业务的原生选人界面的示意图。图3A中第二应用的应用页面为已登录态,即登录的目标账号为小明。第二应用为OKR(Objectives and KeyResults,目标与关键成果法)的应用,该第二应用的应用页面中显示有目标账号所对应的三个关键结果(即KR1至KR3)。点击选人图标,可以在该应用页面上显示第一应用的原生选人界面,即“第一应用·选择联系人”,该原生选人界面设定有选人的范围,可以从群聊中选择,也可以从具体的项目组中选择,比如,可以从产品设计中心、搜索产品中心、产品设计中心来选择联系人,也可以直接在搜索框中搜索来选择联系人,比如,通过搜索框选择了目标账号所关联企业中的小军,选人业务完成后用户点击确定,也可以点击取消来取消当前的选人业务。如图3B所示,为选人业务完成的应用页面的示意图。应用页面中显示了当前的目标账号小明的对齐目标为小军进一步地,在选人业务完成后,第二应用的应用页面获取选人业务中所选择的部门标识和联系人的标识open_userid。与此同时,第一应用关闭原生选人界面。

示例性地,如图4A所示,为一个实施例中分享业务的原生分享界面的示意图。图4A中第二应用的应用页面为已登录态,即登录的目标账号为小明。第二应用为OKR(Objectives and Key Results,目标与关键成果法)的应用,该第二应用的应用页面中显示有目标账号所对应的三个关键结果(即KR1至KR3)。该应用页面上显示有第一应用的原生分享界面,即“第一应用·选择聊天”,该原生分享界面设定有分享的范围,可以从已存在的群聊中选择,也可以创建新的聊天,将该新的聊天选择需要转发的聊天。比如,选择第一应用的设计大群作为需要转发的聊天。此时,将赋予链接所属的第二应用的标识。分享业务完成后用户点击确定,也可以点击取消来取消当前的分享业务。如图4B所示,为分享业务完成的应用页面的示意图。该应用页面中调用了目标登录账号为小明的第一应用聊天页。将小明分享的链接发送到第一应用聊天页,并停留在第一应用聊天页。该第一应用聊天页展示历史消息,并展示了需要转发的聊天的群:设计大群。该设计大群的群组为小明,且小明邀请了属于同一企业的小军、小红加入群聊,作为群成员,该群中显示了第二应用所分享的链接,该链接为小明的OKR,该链接中还显示了所源自的第二应用的应用标识。

在本实施例中,通过第二应用的应用页面,展示目标业务的原生页面内容,响应于对原生页面内容的触发操作,可以在应用页面中快速触发目标业务的执行,以确保目标业务能够及时且准确的执行,提高了目标业务执行的效率。

下述将分别介绍选人业务和分享业务的具体过程。

对于选人业务,如图5所示,为选人业务的流程示意图。第二应用的应用页面初始化与选人业务对应的sdk,即通过调用ww.register来注册getAgentConfigSignature(获取签名信息),通过getAgentConfigSignature获取鉴权参数agentConfigParams。若该应用页面没有收到与选人业务对应的错误提示,则调用sdk接口(即sdkapi:ww.createJSAPIPanel(jsapiName,options)到与选人业务对应的sdk,与选人业务对应的sdk向Node(运行环境)请求渲染与选人业务对应的内嵌对象(即隐形的iframe),Node根据选人业务所对应的业务接口调用参数进行渲染得到内嵌对象,第二应用的应用页面获得该内嵌对象,并将该内嵌对象放置在该应用页面的某个区域,得到选人按钮。其中,选人业务的业务接口调用参数用于确定与选人业务对应的内嵌对象的属性。业务接口调用参数如下表1所示:

表1选人业务的业务接口调用参数表

上述jsapi参数的相关定义如下表2所示:

表2JSAPI参数表

/>

上述innerStyle参数的含义如表3所示:

表3innerStyle参数表

承接前述,在应用页面上显示了选人按钮之后,下述进行触发流程,具体地,用户点击该选人按钮之后,在与选人业务对应的内嵌对象检测到针对该内嵌对象的触发事件时,通过内嵌对象向第二应用中的sdk请求校验信息,校验信息包括第二应用访问第一应用服务器的接口所需的接口调用凭证(Webtoken)与鉴权参数。第二应用中的与选人业务对应的sdk将第二应用访问第一应用服务器的接口所需的接口调用凭证(Webtoken)、鉴权参数(agentConfigParams)发送给内嵌对象,内嵌对象根据接口调用凭证(Webtoken)、鉴权参数(agentConfigParams)确定校验信息,根据该校验信息确定第一网页请求,并将该第一网页请求和接口参数(Invoke JSAPI)发送给第一应用所在的桌面客户端。该桌面客户端将该第一网页请求和接口参数(Invoke JSAPI)透传至第一应用服务器。第一应用服务器还收到登录态信息,该登录信息表征了桌面客户端链接,即桌面客户端与第一应用服务器互传信息的长链接,该登录态信息包括目标账号以及目标账号所关联企业的企业标识。第一应用服务器查询与企业标识对应的授权信息。若该授权信息与鉴权参数不匹配,则校验不通过,返回错误信息至第一应用,该第一应用将该错误信息返回该内嵌对象,该内嵌对象通过校验不通过所对应的调用失败回调函数,返回错误信息给应用页面,并结束当前选人的流程。或者,接口调用凭证所对应的用户账号不为目标账号,则接口调用凭证不为授权的凭证。若接口调用凭证不为授权的凭证、或该授权信息与鉴权参数不匹配,则校验不通过,返回错误信息至第一应用,该第一应用将该错误信息返回该内嵌对象,该内嵌对象通过校验不通过所对应的调用失败回调函数,返回错误信息给应用页面,并结束当前选人的流程。例如,如图6A所示,为一个实施例中选人业务失败的界面示意图。对于接口调用凭证所对应的用户账号不为目标账号的情况下,在应用页面中会显示错误子页面,即关于第一应用·选择联系人的错误子页面,该错误子页面将显示错误信息,即账号不一致,也就是说应用页面中用户账号小华并非为目标账号小明,并提示请检查应用页面中登录的用户账号与第一应用在桌面客户端中的目标账号是否一致,同时也会显示当前用户账号所属企业,如为A企业。

又如图6B所示,为另一个实施例中选人业务失败的界面示意图。对于授权信息与鉴权参数不匹配的情况下,说明此时,应用页面中的用户账号戊没有权限,即不在可见范围内,在应用页面中会显示错误子页面,即关于第一应用·选择联系人的错误子页面,该错误子页面将显示错误信息,即无权限的信息,并提示请联系第一应用所关联企业的企业管理员,同时也会显示当前用户账号所属企业,如为A企业。此外,第一应用服务器还会根据授权信息来确定当前第一应用的版本号,若当前的版本号不支持选人业务,则在应用页面中会显示错误子页面,即关于第一应用·选择联系人的错误子页面,该错误子页面也会提示错误信息。

如图6C所示,为另一个实施例中选人业务失败的界面示意图。此时,直接显示“你的第一应用版本过低,请升级至第一应用最新版本后使用,升级路径:第一应用所在桌面客户端-左上角头像-关于-检查更新”来引导用户更新版本。若该授权信息与鉴权参数匹配,则校验通过,并向第一应用返回校验成功的响应应答。或者,接口调用凭证所对应的用户账号为目标账号,则接口调用凭证为授权的凭证。若接口调用凭证为授权的凭证、且该授权信息与鉴权参数匹配,则校验通过,并第一应用服务器向第一应用返回校验成功的响应应答,即唤起选人的原生弹窗(即原生选人界面),并生成选人业务所对应的事务标识(即callid)。其中,若超过预设时间段内原生弹窗未唤起成功,则应用页面也会显示错误提示,如图6D所示,为另一个实施例中选人业务失败的界面示意图。此时,在应用页面中会显示错误子页面,即关于第一应用·选择联系人的错误子页面,该错误子页面会显示“正在打开第一应用...,如果网页无任何变化,你可手动打开第一应用并重试”。此时,还会提示“如果你还未安装第一应用,请先下载并安装”的信息,此时,若没有下载安装第一应用,则点击应用页面中的“下载并安装”,则在新的标签页打开第一应用的下载页。若在预设时间段内,第一应用将原生弹出展示在第二应用的应用页面中。第一应用在成功唤起了原生弹窗之后,返回事务标识给与选人业务对应的内嵌对象。用户在选人的原生弹出中进行选人操作,并在操作完成后,在第一应用所提供的原生弹窗中触发“点击确认”或“取消”按钮,第一应用响应触发“点击确认”或“取消”按钮的操作,确定选人业务所对应的执行结果,并通过事务标识将该执行结果返回给第一应用服务器。在此过程中,与选人业务对应的内嵌对象轮询该执行结果,具体地,内嵌对象传输与选人业务对应的事务标识给第一应用,第一应用将该事务标识透传给第一应用服务器。第一应用服务器根据该事务标识查询与该事务标识对应的执行结果,检查是否有该事务标识,若有,则第一应用服务器返回该事务标识查询的执行结果给第一应用。第一应用返回该事务标识查询的执行结果给内嵌对象。内嵌对象检查返回的执行结果中是否存在有与该事务标识对应的执行结果,若已有结果,即存在于该事务标识对应的执行结果,退出轮询,并将该执行结果返回给第二应用的sdk,第二应用的sdk通过调用回调函数,将该执行结果返回给第二应用的应用页面。若第一应用服务器没有查询到与目标业务对应的执行结果,即没有结果,即内嵌对象没有收到执行结果,则内嵌对象等待一段时间,直至收到该执行结果时为止。

对于分享业务,如图7所示,为分享业务的流程示意图。第二应用的应用页面初始化与分享业务对应的sdk,即通过调用ww.register来注册getAgentConfigSignature(获取签名信息),通过getAgentConfigSignature获取鉴权参数agentConfigParams。其中,该应用页面为未登录态,即目标账号并未在应用页面登录。若该应用页面没有收到与分享业务对应的错误提示,则调用sdk接口(即sdkapi:ww.createJSAPIPanel(jsapiName,options)到与分享业务对应的sdk,与分享业务对应的sdk向Node(运行环境)请求渲染与分享业务对应的内嵌对象(即隐形的iframe),Node根据分享业务所对应的业务接口调用参数进行渲染得到内嵌对象,第二应用的应用页面获得该内嵌对象,并将该内嵌对象放置在该应用页面的某个区域,得到分享按钮。其中,分享业务的业务接口调用参数用于确定与分享业务对应的内嵌对象的属性。分享业务的业务接口调用参数如下表4所示:

表4分享业务的业务接口调用参数

上述jsapi参数的相关定义如下表5所示:

表5JSAPI参数表

上述innerStyle参数的含义如表6所示:

表6innerStyle参数表

承接前述,在应用页面上显示了分享按钮之后,下述进行触发流程,具体地,用户点击该分享按钮之后,在与分享业务对应的内嵌对象检测到针对该内嵌对象的触发事件时,通过内嵌对象向第二应用中的sdk请求校验信息,校验信息包括鉴权参数。第二应用中的与分享业务对应的sdk将鉴权参数(suiteConfigParams)发送给内嵌对象,内嵌对象根据鉴权参数(suiteConfigParams)确定校验信息,根据该校验信息确定第一网页请求,并将该第一网页请求和接口参数(Invoke JSAPI)发送给第一应用所在的桌面客户端。该桌面客户端将该第一网页请求和接口参数(Invoke JSAPI)透传至第一应用服务器。该第一应用服务器还接收到登录态信息,该登录信息表征了桌面客户端链接,即桌面客户端与第一应用服务器互传信息的长链接,该登录态信息包括目标账号以及目标账号所关联企业的企业标识。第一应用服务器查询与企业标识对应的第三方服务商授权的页面信息。若该第三方服务商授权的页面信息与鉴权参数不匹配,则校验不通过,返回错误信息至第一应用,该第一应用将该错误信息返回该内嵌对象,该内嵌对象通过校验不通过所对应的调用失败回调函数,返回错误信息给应用页面,并结束当前分享的流程。

此外,第一应用服务器还会根据授权信息来确定当前第一应用的版本号,若当前的版本号不支持分享业务,则第二应用的应用页面也会提示错误信息。如图8A所示,为一个实施例中分享业务失败的界面示意图。此时,在应用页面中会显示错误子页面,即关于第一应用·选择聊天的错误子页面,该错误子页面直接显示“你的第一应用版本过低,请升级至第一应用最新版本后使用,升级路径:第一应用所在桌面客户端-左上角头像-关于-检查更新”来引导用户更新版本。若该第三方服务器商授权的页面信息与鉴权参数匹配,则校验通过,并向第一应用返回校验成功的响应应答,即唤起分享的原生弹窗(即原生分享界面),并生成分享业务所对应的事务标识(即callid)。

其中,若超过预设时间段内原生弹窗未唤起成功,则应用页面也会显示错误提示,如图8B所示,为另一个实施例中分享业务失败的界面示意图。此时,在应用页面中会显示错误子页面,即关于第一应用·选择聊天的错误子页面,该错误子页面直接显示会显示“正在打开第一应用...,如果网页无任何变化,你可手动打开第一应用并重试”。此时,还会提示“如果你还未安装第一应用,请先下载并安装”的信息,此时,若没有下载安装第一应用,则点击应用页面中的“下载并安装”,则在新的标签页打开第一应用的下载页。

若在预设时间段内,第一应用将原生弹窗展示在第二应用的应用页面中。第一应用在成功唤起了原生弹窗之后,返回事务标识给与分享业务对应的内嵌对象。用户在分享的原生弹出中进行分享操作,并在操作完成后,在第一应用所提供的原生弹窗中触发“点击确认”或“取消”按钮,第一应用响应触发“点击确认”或“取消”按钮的操作,确定分享业务所对应的执行结果,并通过事务标识将该执行结果返回给第一应用服务器。在此过程中,与分享业务对应的内嵌对象轮询该执行结果,具体地,内嵌对象传输与分享业务对应的事务标识给第一应用,第一应用将该事务标识透传给第一应用服务器。第一应用服务器根据该事务标识查询与该事务标识对应的执行结果,检查是否有该事务标识,若有,则第一应用服务器返回该事务标识查询的执行结果给第一应用。第一应用返回该事务标识查询的执行结果给内嵌对象。内嵌对象检查返回的执行结果中是否存在有与该事务标识对应的执行结果,若已有结果,即存在于该事务标识对应的执行结果,退出轮询,并将该执行结果返回给第二应用的sdk,第二应用的sdk通过调用回调函数,将该执行结果返回给第二应用的应用页面。若第一应用服务器没有查询到与目标业务对应的执行结果,即没有结果,即内嵌对象没有收到执行结果,则内嵌对象等待一段时间,直至收到该执行结果时为止。

基于此,上述的目标业务的实现均是在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面发送的第一网页请求,并能够让第一应用将第一网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

前述所涉及到的目标业务包括选人业务和分享业务。此外,目标业务还包括登录业务。下述将说明在登录业务中的应用信息访问方法。

在一个实施例中,如图9所示,提供了一种应用信息访问方法,以该方法应用于图1中的终端102中第一应用为例进行说明,包括以下步骤:

步骤902,在以目标账号登录后,开启网页请求代理服务。

其中,目标账号关联与之对应的一个企业,该目标账号为第一应用的账号。可选地,第一应用可以是社交应用、支付应用、视频应用、游戏应用等。例如,社交应用可以是即时通信应用、直播应用等,具体不做限定。网页请求代理服务用于实现第一应用服务器、终端中的第一应用和第二应用之间的通信,因此,开启了网页请求代理服务意味着开发了第一应用服务器、终端中的第一应用和第二应用之间的通信能力。可选地,网页请求代理服务为http(Hyper Text Transfer Protocol,超文本传输协议)服务。可选地,为了确保通信的安全性,可以利用加密的http协议(即https协议)来实现第一应用服务器、终端中的第一应用和第二应用之间的安全通信。

可选地,在终端中的第一应用以目标账号登录后,开启网页请求代理服务器。示例性的,终端中的第一应用为桌面客户端的应用。在桌面客户端的第一应用以目标账号登录后,桌面客户端开启网页请求代理服务。

例如,即时通信应用的桌面客户端以目标账号登录,也即是,即时通信应用的桌面客户端的登录状态为目标账号已登录,即时通信应用的桌面客户端开启本地的网页请求代理服务。

步骤904,通过网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;第二网页请求用于确认第一应用是否处于登录态。

其中,登录组件用于目标账号在第二应用的应用页面中进行快速登录。登录组件可以放置在应用页面中的指定区域。

可选地,通过网页请求代理服务,第一应用接收第二应用创建的登录组件所发送的第二网页请求。

步骤906,发送第二网页请求与目标账号的登录态信息至第一应用服务器。

其中,登录态信息表征目标账号是否登录的信息,该登录态信息包括目标账号已登录的信息和目标账号未登录的信息。

步骤908,若第一应用接收到第一应用服务器根据第二网页请求以及登录态信息的响应应答,则将目标账号的账号信息返回至第二应用的应用页面创建的登录组件,以指示登录组件展示以目标账号登录第二应用的登录界面。

可选地,第一应用服务器在接收到第二网页请求和目标账号的登录态信息之后,直接发送响应应答至第一应用。第一应用将目标账号的账号信息返回至第二应用的应用页面创建的登录组件,以指示登录组件展示以目标账号登录第二应用的登录界面。

示例性地,第一应用服务器在接收到第二网页请求和目标账号的登录态信息之后,直接发送响应应答至第一应用。第一应用将响应应答转发给第二应用创建的登录组件,该登录组件将登录信息发送给第一应用,第一应用将目标账号和登录信息发送给第一应用服务器,第一应用服务器将目标账号和登录信息进行关联,并将关联成功信息发送给第一应用,该关联成功信息携带目标账号的账号信息,第一应将该关联成功信息发送给登录组件,登录组件根据该账号信息展示以目标账号登录该第二应用的登录界面。该登录信息表征了该登录组件的属性信息,账号信息包括目标账号和目标账号所关联的企业的企业标识。

其中,如图10A所示,为一个实施例中快速登录的登录界面的示意图。该图中登录组件是嵌入在第二应用中的,该登录组件中显示了在第一应用中目标账号的头像、目标账号(即图中的“小明”)和目标账号所关联的企业(即图中的“A企业”)。登录组件中显示了多种登录方式,其中,包括第一应用快速登录和扫码登录。当用户点击“第一应用快速登录”所在的页面区域时,能够快速在第二应用中登录目标账号,简单便捷。

此外,该登录界面可以不嵌入第二应用中,即登录界面可以单独嵌在不属于第二应用的任意一个网页中,如图10B所示,为另一个实施例中快速登录的登录界面的示意图。在不属于第二应用的任意一个网页中,该登录界面中的登录组件显示了在第一应用中目标账号的头像、目标账号(即图中的“小明”)和目标账号所关联的企业(即图中的“A企业”)。登录组件中显示了多种登录方式,其中,包括第一应用快速登录和扫码登录。当用户点击“第一应用快速登录”所在的页面区域时,能够快速在第二应用中登录目标账号,简单便捷。

上述应用信息访问方法,通过在以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;第二网页请求用于确认第一应用是否处于登录态;发送第二网页请求与目标账号的登录态信息至第一应用服务器;若第一应用接收到第一应用服务器根据第二网页请求以及登录态信息的响应应答,则将目标账号的账号信息返回至第二应用的应用页面创建的登录组件,以指示登录组件展示以目标账号登录第二应用的登录界面。

在一个实施例中,第二应用创建登录组件的步骤包括:通过第二应用,发出调用第一应用服务器的登录组件创建接口的调用请求,接收第一应用服务器响应于调用请求创建的登录组件。

可选地,通过第二应用,发出调用第一应用服务器的登录组件创建接口的调用请求,第一应用服务器响应于调用请求创建登录组件,并将登录组件发送给第二应用。

示例性地,通过第二应用初始化与登录业务对应的sdk,获取登录组件创建接口。通过第二应用,发出调用第一应用服务器的登录组件创建接口的调用请求,第一应用服务器响应于调用请求创建登录组件,并将登录组件发送给第二应用。

例如,在创建登录组件之前,通过初始化于登录业务对应的sdk获取登录组件参数,登录组件参数如下表7所示:

表7登录业务的登录组件参数表

上述params参数的相关定义如下表8所示:

表8params参数表

因此,第一应用服务器根据登录组件参数能够创建登录组件。然后,将该登录组件发送给第一应用。

在本实施例中,在通过第二应用发出调用第一应用服务器的登录组件创建接口的调用请求之后,第一应用服务器通过响应调用请求能够迅速构建出与当前登录业务对应的登录组件。

在一个实施例中,通过登录组件向第一应用发送第二网页请求的步骤具体包括:通过登录组件,根据第二应用的重定向地址与第二应用的应用标识,向第一应用服务器发送校验登录参数的校验请求;在登录组件接收到第一应用服务器反馈的校验成功的响应应答时,通过登录组件向第一应用发送第二网页请求。

可选地,通过登录组件,根据第二应用的重定向地址与第二应用的应用标识,向第一应用服务器发送校验登录参数的校验请求。该校验请求的校验登录参数包括该重定向地址和应用标识。第一应用服务器接收校验请求,并校验该校验请求中的重定向地址是否为授权地址、和校验该应用标识所对应的应用是否为授权应用。若该重定向地址为授权地址、且该应用标识所对应的应用为授权应用,则确定校验成功,第一服务器反馈校验成功的响应应答给登录组件。在登录组件接收到第一应用服务器反馈的校验成功的响应应答时,通过登录组件向第一应用发送第二网页请求。

示例性地,若该重定向地址为授权地址、且该应用标识所对应的应用为授权应用,则确定校验成功,第一服务器反馈校验成功的响应应答给登录组件,并反馈与应用标识对应的登录信息给登录组件,该登录信息用于显示以目标账号登录第二应用的登录界面。在登录组件接收到第一应用服务器反馈的校验成功的响应应答时,通过登录组件向第一应用发送第二网页请求。若该重定向地址不为授权地址、或应用标识所对应的应用不为授权应用,则确定校验失败,并第一应用服务器返回错误码给登录组件,该登录组件显示该错误码。

在本实施例中,通过登录组件,根据第二应用的重定向地址与第二应用的应用标识,向第一应用服务器发送校验登录参数的校验请求。这样,能够使得第一应用服务器对登录成功后跳转页面的重定向地址和应用标识进行有效性校验,以确保后续登录业务的有效性。在登录组件接收到第一应用服务器反馈的校验成功的响应应答时,通过登录组件直接向第一应用发送第二网页请求,以进行后续的关联操作。

在一个实施例中,方法还包括以目标账号登录第二应用的步骤,步骤包括:响应于对登录界面中登录控件的触发操作,通过登录组件接收第一应用服务器反馈的临时授权凭证,通过第二应用在获得临时授权凭证后,根据临时授权凭证进入第二应用的重定向页面。

可选地,第一应用服务器响应于对登录界面中登录空间的触发操作,确认目标账号登录第二应用,并生成临时授权凭证。第一应用服务器将已确认登录的信息和临时授权凭证发送给登录组件,登录组件将该临时授权凭证发送给第二应用的sdk,该sdk将该临时授权凭证发送给第二应用。第二应用在获得临时授权凭证之后,第二应用根据该临时授权凭证进入重定向地址所对应的重定向页面。

示例性地,第一应用服务器响应于对登录界面中登录组件的触发操作,确认目标账号登录第二应用,并生成临时授权凭证authCode,第一应用服务推送登录成功消息给H5(第5代Html(互联网超文本标记语言))页面。第一应用服务器将已确认登录的信息和临时授权凭证发送给登录组件,登录组件将该临时授权凭证authCode发送给第二应用的sdk,该sdk将该临时授权凭证发送给第二应用。第二应用在获得临时授权凭证之后,第二应用根据该临时授权凭证跳转至重定向地址redirectUri所对应的重定向页面。如图11所示,为一个实施例中第二应用成功登录的示意图。图11中的第二应用为OKR的应用,该第二应用的目标账号为小明。该第二应用的应用页面中显示有目标账号小明所对应的三个关键结果(即KR1至KR3)。此外,H5页面用于登录消息的推送,可以在桌面客户端、手机客户端商显示,具体地,该H5页面中当前登录的日期和时间,并显示了当前的登录操作通知。

在本实施例中,响应于对登录界面中登录控件的触发操作,一旦通过登录组件接收到第一应用服务器反馈的临时授权凭证,则可以直接确定第二应用的登录状态为已登录态,从而能够及时且迅速的进入重定向页面,提高了重定向处理的效率。

在一个实施例中,方法还包括第二应用获得接口调用凭证的步骤,步骤包括:通过临时授权凭证从第一应用服务器换取第二应用的接口调用凭证,接口调用凭证用于第二应用调用第一应用服务器的接口。

可选地,通过第二应用的API将临时授权凭证发送至第一应用服务器,以换取接口调用凭证和用户身份信息。第一应用服务器将该接口调用凭证和用户身份信息发送至第二应用,此时该登录业务成功完成。

需要说明的是,临时授权凭证可以被任意一个第二应用获取得到,即,对于每个第二应用而言,该第二应用的临时授权凭证很可能泄露,即,被其他第二应用使用。因此,为了确保每个第二应用能够使用与之适配的、且不会被其他第二应用使用的凭证,以根据该凭证进行后续选人业务。将临时授权凭证发送到第一应用服务器中,通过相应的密钥进行换取,得到接口调用凭证。

在本实施例中,通过临时授权凭证从第一应用服务器换取与之对应的安全性高的第二应用的接口调用凭证,能够确保后续的业务中接口调用的安全性。

下述将介绍登录业务的具体过程。

对于登录业务,如图12所示,为一个实施例中登录业务的流程示意图。第二应用初始化与登录业务对应的sdk,即通过调用ww.webLogin来获取登录组件创建接口,通过第二应用,发出调用第一应用服务器的登录组件创建接口的调用请求,第一应用服务器响应于调用请求创建iframe来获得登录组件,并将登录组件发送给第二应用中的sdk。通过登录组件,根据第二应用的重定向地址与第二应用的应用标识,向第一应用服务器发送校验登录参数的校验请求。对于第二应用为自建应用时,校验请求的校验登录参数除了包括该重定向地址和应用标识以外,还包括企业corpid。对于第二应用为第三方应用时,校验请求的校验登录参数包括重定向地址和企业商的corpid。以第二应用为自建应用为例说明,第一应用服务器接收校验请求,并校验该校验请求中的重定向地址是否为授权地址、和校验该应用标识所对应的应用是否为授权应用。若该重定向地址为授权地址、且该应用标识所对应的应用为授权应用,则确定校验成功,第一服务器反馈校验成功的响应应答给登录组件,并反馈与应用标识对应的登录信息给登录组件,该登录信息用于显示以目标账号登录第二应用的登录界面。在登录组件接收到第一应用服务器反馈的校验成功的响应应答时,通过登录组件向第一应用发送第二网页请求。若该重定向地址不为授权地址、或应用标识所对应的应用不为授权应用,则确定校验失败,并第一应用服务器返回错误码给登录组件,该登录组件显示该错误码。

在校验成功的情况下,进入快速登录流程。具体的,该登录组件将登录信息发送给第一应用,以关联登录身份的操作。第一应用将目标账号和登录信息发送给第一应用服务器,第一应用服务器将目标账号和登录信息进行关联,并将关联成功信息发送给第一应用,该关联成功信息携带目标账号的账号信息,第一应将该关联成功信息发送给登录组件,登录组件显示快速登录信息,即显示以目标账号登录该第二应用的登录界面。第一应用服务器响应于对登录界面中登录组件的触发操作,确认目标账号登录第二应用,并生成临时授权凭证authCode,第一应用服务器推送登录成功消息给H5页面。第一应用服务器将已确认登录的信息和临时授权凭证发送给登录组件,登录组件将该临时授权凭证发送给第二应用的sdk,该sdk将该临时授权凭证发送给第二应用。第二应用在获得临时授权凭证之后,第二应用带该临时授权凭证跳转至重定向地址redirectUri所对应的重定向页面。通过第二应用的API消费临时授权凭证,即将该临时授权凭证发送至第一应用服务器,以换取接口调用凭证webToken和用户身份信息。第一应用服务器将该接口调用凭证和用户身份信息发送至第二应用,此时该登录业务成功完成。

上述过程为登录业务中的快速登录过程,而对于该登录业务,还存在通过二维码扫码进行登录。如图13所示,为另一实施例中登录业务的流程示意图。第二应用初始化与登录业务对应的sdk,即通过调用ww.webLogin来获取登录组件创建接口,通过第二应用,发出调用第一应用服务器的登录组件创建接口的调用请求,第一应用服务器响应于调用请求创建iframe来获得登录组件,并将登录组件发送给第二应用中的sdk。通过登录组件,根据第二应用的重定向地址与第二应用的应用标识,向第一应用服务器发送校验登录参数的校验请求。对于第二应用为自建应用时,校验请求的校验登录参数除了包括该重定向地址和应用标识以外,还包括企业corpid。对于第二应用为第三方应用时,校验请求的校验登录参数包括重定向地址和企业商的corpid。以第二应用为自建应用为例说明,第一应用服务器接收校验请求,并校验该校验请求中的重定向地址是否为授权地址、和校验该应用标识所对应的应用是否为授权应用。若该重定向地址为授权地址、且该应用标识所对应的应用为授权应用,则确定校验成功,第一服务器反馈校验成功的响应应答给登录组件,并反馈与应用标识对应的登录信息给登录组件,该登录信息用于显示以目标账号登录第二应用的登录界面。在登录组件接收到第一应用服务器反馈的校验成功的响应应答时,通过登录组件向第一应用发送第二网页请求。若该重定向地址不为授权地址、或应用标识所对应的应用不为授权应用,则确定校验失败,并第一应用服务器返回错误码给登录组件,该登录组件显示该错误码。

在校验成功的情况下,进入扫码登录流程。具体地,第一应用返回登录webKey(二维码)至登录组件,登录组件显示登录二维码,如图14A所示,为一个实施例中扫码登录的登录界面的示意图。该图中登录组件是嵌入在第二应用中的,登录界面中登录组件显示了“第一应用登录,请使用第一应用扫描二维码登录”。此外,该登录界面可以不嵌入第二应用中,即登录界面可以单独嵌在不属于第二应用的任意一个网页中,如图14B所示,为另一个实施例中扫码登录的登录界面的示意图。在不属于第二应用的任意一个网页中,登录组件显示了“第一应用登录,请使用第一应用扫描二维码登录”。

通过H5页面来实现扫码操作,扫码后可以取消登录,也可以确认登录。此时,登录组件监测登录状态,即是否已扫码。若已扫码,则H5发送更新登录状态到第一应用服务器。此时,登录组件根据由第一应用服务器发送的更新登录状态,确定是否登录,即已确认登录,或者取消,或者没有登录。若第一应用服务器发送的更新登录状态为已确认登录,则第一应用服务器推送登录成功消息给H5页面。第一应用服务器将已确认登录的信息和临时授权凭证发送给登录组件,登录组件将该临时授权凭证发送给第二应用的sdk,该sdk将该临时授权凭证发送给第二应用。第二应用在获得临时授权凭证之后,第二应用带该临时授权凭证跳转至重定向地址redirectUri所对应的重定向页面。通过第二应用的API消费临时授权凭证,即将该临时授权凭证发送至第一应用服务器,以换取接口调用凭证webToken和用户身份信息。第一应用服务器将该接口调用凭证和用户身份信息发送至第二应用,此时该登录业务成功完成。

在一个实施例中,如图15所示,提供了一种应用业务访问方法,该方法涉及到第一应用、内嵌对象、第二应用、第一应用服务器之间的交互过程,该方法涉及到的目标业务包括选人业务和分享业务。该方法包括以下步骤:

步骤1502,通过第二应用的应用页面创建针对目标业务的内嵌对象;内嵌对象用于在应用页面中访问第一应用的目标业务。

步骤1504,通过内嵌对象向第一应用发送第一网页请求,第一网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的。

步骤1506,通过第一应用在处于登录态时所开启的网页请求代理服务接收第一网页请求,将第一网页请求以及第一应用的登录态信息发送至第一应用服务器。

步骤1508,通过第一应用,在接收第一应用服务器根据第一网页请求与登录态信息校验成功并返回的响应应答后,将第一应用中目标业务的原生页面内容返回至第二应用的应用页面。

上述应用业务访问方法中,通过第二应用的应用页面创建针对目标业务的内嵌对象;内嵌对象用于在应用页面中访问第一应用的目标业务;通过内嵌对象向第一应用发送第一网页请求,第一网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的;通过第一应用在处于登录态时所开启的网页请求代理服务接收第一网页请求,将第一网页请求以及第一应用的登录态信息发送至第一应用服务器;通过第一应用,在接收第一应用服务器根据第一网页请求与登录态信息校验成功并返回的响应应答后,将第一应用中目标业务的原生页面内容返回至第二应用的应用页面。这样,在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面发送的第一网页请求,并能够让第一应用将第一网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

在一个实施例中,提供了一种应用信息访问方法,该方法涉及到第一应用、内嵌对象、第二应用、第一应用服务器之间的交互过程,该方法涉及到的目标业务包括登录业务。该方法包括以下步骤:通过第二应用,发出调用第一应用服务器的登录组件创建接口的调用请求,接收第一应用服务器响应于调用请求创建的登录组件。通过登录组件向第一应用发送第二网页请求,第二网页请求用于确认第一应用是否处于登录态;通过第一应用在处于登录态时所开启的网页请求代理服务器接收第二网页请求,将第二网页请求以及目标账号的登录态信息至第一应用服务器;通过第一应用,在接收到第一应用服务器根据第二网页请求以及登录态信息的响应应答后,将目标账号的账号信息返回至第二应用的应用页面创建的登录组件,以指示登录组件展示以目标账号登录第二应用的登录界面。

上述应用信息访问方法,通过在以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;第二网页请求用于确认第一应用是否处于登录态;发送第二网页请求与目标账号的登录态信息至第一应用服务器;若第一应用接收到第一应用服务器根据第二网页请求以及登录态信息的响应应答,则将目标账号的账号信息返回至第二应用的应用页面创建的登录组件,以指示登录组件展示以目标账号登录第二应用的登录界面。这样,在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面所创建的登录组件所发送的第二网页请求,并能够让第一应用将第二网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

本申请还提供一种应用场景,该应用场景应用上述的应用业务访问方法。具体地,该应用业务访问方法在该应用场景的应用例如如下所述:在涉及到涉及应用场景中,对于第一应用为即时通信应用,第三方服务商为第一应用所关联的企业开发了第二应用。此时,为了便于企业中的用户能够最大化利用第一应用和第二应用,常常会涉及到将第二应用中的应用页面的信息分享给第一应用的目标账号,此时,可以通过本申请的应用业务访问方法实现第一应用的目标账号对第二应用中应用页面进行高效的应用业务访问。具体地,在以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,第一网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的;发送第一网页请求及目标账号的登录态信息至第一应用服务器;若第一应用接收到第一应用服务器根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。

当然并不局限于此,本申请提供的应用业务访问方法还可以应用在其他应用场景中,针对个性化推荐场景,涉及到将第二应用中的网页页面的信息分享给具有相同或相似功能的第一应用。此时,为了便于同一用户账号将第二应用中的信息分享至第一应用中的群组中,可以采用本社申请的应用业务访问方法实现不同应用中能够高效进行高效的访问。

上述应用场景仅为示意性的说明,可以理解,本申请各实施例所提供的应用业务访问方法的应用不局限于上述场景。

在一个具体实施例中,提供了一种应用业务访问方法,该方法应用于第一应用,具体地:通过以当前账号登录的第二应用,根据当前账号,从第一应用服务器获得第二应用的鉴权参数,鉴权参数用于指示当前账号所关联企业的企业标识、所关联企业授权的应用标识或第二应用的可见范围中的至少一种。通过第二应用,根据目标业务的业务接口名与目标业务的业务接口调用参数,调用第一应用服务器的内嵌对象创建接口,业务接口调用参数包括内嵌对象的绘制参数;接收第一应用服务器按绘制参数绘制并返回的内嵌对象;在第二应用的应用页面中展示内嵌对象。在以目标账号登录后,开启网页请求代理服务;在内嵌对象检测到针对内嵌对象的触发事件时,通过内嵌对象向第二应用请求校验信息,校验信息包括第二应用访问第一应用服务器的接口所需的接口调用凭证与鉴权参数;通过内嵌对象根据校验信息向第一应用的网页请求代理服务发起的第一网页请求。通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,第一网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的;

发送第一网页请求及目标账号的登录态信息至第一应用服务器;在第一应用处于以目标账号登录的情况下,转发第一网页请求及目标账号的登录态信息至第一应用服务器;在第一应用处于未登录态的情况下,从第二应用跳转至第一应用以执行登录操作,在第一应用以目标账号登录后,返回第二应用并发送第一网页请求及目标账号的登录态信息至第一应用服务器。目标账号的登录态信息包括目标账号以及目标账号所关联企业的企业标识;校验信息包括鉴权参数;在第一应用服务器接收到第一网页请求与登录态信息的情况下,通过第一应用服务器查询与企业标识对应的授权信息;若鉴权参数与授权信息匹配,则向第一应用返回校验成功的响应应答。若第一应用接收到第一应用服务器根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。通过第二应用的应用页面,展示目标业务的原生页面内容,响应于对原生页面内容的触发操作,在应用页面中触发目标业务的执行。

在本实施例中,通过在以目标账号登录后,开启网页请求代理服务;通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的;发送第一网页请求及目标账号的登录态信息至第一应用服务器;若第一应用接收到第一应用服务器根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。这样,在第一应用为登录状态的情况下,通过开启的网页请求代理服务,能够让第一应用接收到由第二应用的应用页面发送的第一网页请求,并能够让第一应用将第一网页请求发送至所对应的第一应用服务器,即实现了第二应用的应用页面通过该网页请求代理服务,与第一应用、第一应用服务器进行直接交互,以进行与目标业务相对应的业务访问,实现了应用页面进行高效的应用业务访问。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用业务访问方法的应用业务访问装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用业务访问装置实施例中的具体限定可以参见上文中对于应用业务访问方法的限定,在此不再赘述。

在一个实施例中,如图16所示,提供了一种应用业务访问装置,包括:第一开启模块1602、第一接收模块1604、第一发送模块1606和第一返回模块1608,其中:

第一开启模块1602,用于在以目标账号登录后,开启网页请求代理服务。

第一接收模块1604,用于通过网页请求代理服务,接收第二应用的应用页面创建的内嵌对象所发送的第一网页请求;内嵌对象用于在第二应用的应用页面中访问第一应用的目标业务,第一网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的。

第一发送模块1606,用于发送第一网页请求及目标账号的登录态信息至第一应用服务器。

第一返回模块1608,用于若第一应用接收到第一应用服务器根据第一网页请求携带的校验信息与登录态信息校验成功的响应应答,则将第一应用中目标业务的原生页面内容返回至第二应用的应用页面,以在应用页面中访问目标业务。

本申请各实施例中提供的应用业务访问装置的具体细节与有益效果,均已经在对应的方法实施例中进行了详细的描述,可参考相应的方法实施例。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用信息访问方法的应用信息访问装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用信息访问装置实施例中的具体限定可以参见上文中对于应用信息访问方法的限定,在此不再赘述。

在一个实施例中,如图17所示,提供了一种应用信息访问装置,包括:第二开启模块1702、第二接收模块1704、第二发送模块1706和第二返回模块1708,其中:

第二开启模块1702,用于在以目标账号登录后,开启网页请求代理服务。

第二接收模块1704,用于通过网页请求代理服务,接收第二应用创建的登录组件所发送的第二网页请求;第二网页请求用于确认第一应用是否处于登录态。

第二发送模块1706,用于发送第二网页请求与目标账号的登录态信息至第一应用服务器。

第二返回模块1708,用于若第一应用接收到第一应用服务器根据第二网页请求以及登录态信息的响应应答,则将目标账号的账号信息返回至第二应用的应用页面创建的登录组件,以指示登录组件展示以目标账号登录第二应用的登录界面。

本申请各实施例中提供的应用信息访问装置的具体细节与有益效果,均已经在对应的方法实施例中进行了详细的描述,可参考相应的方法实施例。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用业务访问方法的应用业务访问装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用业务访问装置实施例中的具体限定可以参见上文中对于应用业务访问方法的限定,在此不再赘述。

在一个实施例中,如图18所示,提供了一种应用业务访问装置,包括:创建模块1802、第三发送模块1804和第三返回模块1806,其中:

创建模块1802,用于通过第二应用的应用页面创建针对目标业务的内嵌对象;内嵌对象用于在应用页面中访问第一应用的目标业务。

第三发送模块1804,用于通过内嵌对象向第一应用发送第一网页请求,第一网页请求携带第二应用访问目标业务所需的校验信息,校验信息是第二应用从第一应用服务器获得的。

第三发送模块1804,用于通过第一应用在处于登录态时所开启的网页请求代理服务接收第一网页请求,将第一网页请求以及第一应用的登录态信息发送至第一应用服务器。

第三返回模块1806,用于通过第一应用,在接收第一应用服务器根据第一网页请求与登录态信息校验成功并返回的响应应答后,将第一应用中目标业务的原生页面内容返回至第二应用的应用页面。

本申请各实施例中提供的应用业务访问装置的具体细节与有益效果,均已经在对应的方法实施例中进行了详细的描述,可参考相应的方法实施例。

上述两个应用业务访问装置和应用信息访问装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图19所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现两种应用业务访问方法和一种应用信息访问方法。

本领域技术人员可以理解,图19中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 一种灰度版本页面访问方法、装置、计算机设备及计算机存储介质
  • 数据访问方法、装置、电子设备及计算机存储介质
  • 数据库访问处理方法、装置、计算机设备和存储介质
  • 页面访问处理方法、装置、计算机设备及存储介质
  • 云平台访问方法、装置、计算机设备和存储介质
  • 业务数据访问方法、装置和设备及计算机存储介质
  • 业务数据访问的方法、装置、计算机设备和存储介质
技术分类

06120116501619