CN107196898A - 账户登录方法、页面显示方法、客户端、和服务器 - Google Patents

账户登录方法、页面显示方法、客户端、和服务器 Download PDF

Info

Publication number
CN107196898A
CN107196898A CN201710149928.XA CN201710149928A CN107196898A CN 107196898 A CN107196898 A CN 107196898A CN 201710149928 A CN201710149928 A CN 201710149928A CN 107196898 A CN107196898 A CN 107196898A
Authority
CN
China
Prior art keywords
account
external
server
request
page
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.)
Granted
Application number
CN201710149928.XA
Other languages
English (en)
Other versions
CN107196898B (zh
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710149928.XA priority Critical patent/CN107196898B/zh
Publication of CN107196898A publication Critical patent/CN107196898A/zh
Application granted granted Critical
Publication of CN107196898B publication Critical patent/CN107196898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种账户登录方法、页面显示方法、客户端、和服务器。所述账户登录方法包括:确定外部服务器的授权状态;其中,所述授权状态用于表示所述外部服务器是否具有获取内部服务器中用户信息的权限;在所述外部服务器处于已授权状态的条件下,向所述外部服务器发送外部账户登录请求,以便于所述外部服务器登录指定外部账户;其中,所述外部账户登录请求中携带有指定内部账户;所述指定内部账户与所述指定外部账户相对应。

Description

账户登录方法、页面显示方法、客户端、和服务器
技术领域
本申请涉及计算机技术领域,特别涉及一种账户登录方法、页面显示方法、客户端、和服务器。
背景技术
目前,开放平台(Open Platform)为了更好地向用户提供业务服务,通常可以引入一个或多个第三方服务商(ISV,Independent Software Vendors)。如此,开放平台可以提供自身的业务服务,还可以提供所述一个或多个第三方服务商的业务服务。例如,所述开放平台可以为微信开放平台,所述第三方服务商可以为大众点评服务商。所述微信开放平台可以引入大众点评服务商。那么,所述微信开放平台可以提供自身的即时通信、在线支付等业务服务,还可以提供所述大众点评服务商的商户信息搜索业务服务。
为了便于描述,可以将开放平台作为内部服务器,可以将在开放平台上注册的用户账户作为内部账户;可以将第三方服务商的服务器作为外部服务器,可以将在第三方服务商上注册的用户账户作为外部账户。例如,沿用上例,所述内部服务器可以为微信开放平台,所述内部账户可以为微信账户;所述外部服务器可以为大众点评服务商的服务器,所述外部账户可以为大众点评账户。
鉴于内部服务器可以引入一个或多个外部服务器,用户通过与内部服务器相关联的客户端,可以获取内部服务器的业务服务,还可以获取所述一个或多个外部服务器的业务服务。例如,继续沿用上例,所述内部服务器可以为微信开放平台,所述客户端可以为微信应用程序。
基于所述客户端,用户可以采用如下方式登录其指定内部账户,以获取内部服务器的业务服务。具体地,用户可以在所述客户端输入其指定内部账户。所述客户端在接收到用户输入的指定内部账户后,可以向内部服务器发送内部账户登录请求,所述内部账户登录请求中可以携带有所述指定内部账户。内部服务器可以接收所述内部账户登录请求,并可以登录所述指定内部账户。
基于所述客户端,用户还可以登录其指定外部账户,以获取外部服务器的业务服务。现有技术中,外部服务器中可以保存有用户的内部账户与外部账户的对应关系。例如,继续沿用上例,所述大众点评服务商的服务器中可保存有用户的大众点评账户与微信账户的对应关系。如此,为了避免用户重复输入账户的操作,所述客户端通过分别与内部服务器和外部服务器进行交互,可以使外部服务器基于所述指定内部账户、和所述对应关系来登录所述指定外部账户。具体地,请参阅图1,现有技术中,外部服务器登录所述指定外部账户的一个典型过程可以如下。
所述客户端通过分别与内部服务器和外部服务器进行交互,可以接收来自外部服务器的指定服务器标识、以及来自内部服务器的授权页面数据。所述指定服务器标识可以用于标识外部服务器。所述客户端可以显示所述授权页面数据对应的授权页面,所述授权页面可以用于引导用户对外部服务器进行授权操作。
在用户基于所述授权页面进行授权操作后,所述客户端可以向内部服务器发送授权码(Authorization Code)获取请求。内部服务器可以接收所述授权码获取请求,可以生成一个授权码,可以建立所述授权码与指定内部账户的对应关系,并可以向所述客户端发送所述授权码。所述授权码可以具体包括授权码的生效时间、授权码的失效时间等信息。
所述客户端可以接收所述授权码,并可以向外部服务器发送外部账户登录请求,所述外部账户登录请求中可以携带有所述授权码。外部服务器可以接收所述外部账户登录请求,并可以基于超文本传输协议(HTTP,Hyper Text Transfer Protocol)向内部服务器发送内部账户获取请求,所述内部账户获取请求中可以携带有所述授权码。内部服务器可以接收所述内部账户获取请求,可以获取所述授权码对应的指定内部账户,并可以向外部服务器发送所述指定内部账户。外部服务器可以接收所述指定内部账户;可以基于内部账户与外部账户的对应关系,获取所述指定内部账户对应的指定外部账户;并可以登录所述指定外部账户。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
上述现有技术中,在接收到客户端发来的外部账户登录请求后,外部服务器需要基于超文本传输协议与内部服务器进行通信以获取指定内部账户。在获取到指定内部账户后,外部服务器可以基于内部账户与外部账户的对应关系,获取所述指定内部账户对应的指定外部账户;并可以登录所述指定外部账户。
利用超文本传输协议进行通信通常需要经过域名解析、TCP协议(TransmissionControl Protocol,传输控制协议)握手等过程,花费时间较长。因此,上述现有技术中,在接收到客户端发来的外部账户登录请求后,外部服务器需要花费较长时间才能登录指定外部账户,造成用户体验不高。
发明内容
本申请实施例的目的是提供一种账户登录方法、页面显示方法、客户端、和外部服务器,以减少外部账户登录过程花费的时间,提高用户体验。
为实现上述目的,本申请实施例提供一种账户登录方法,包括:确定外部服务器的授权状态;其中,所述授权状态用于表示所述外部服务器是否具有获取内部服务器中用户信息的权限;在所述外部服务器处于已授权状态的条件下,向所述外部服务器发送外部账户登录请求,以便于所述外部服务器登录指定外部账户;其中,所述外部账户登录请求中携带有指定内部账户;所述指定内部账户与所述指定外部账户相对应。
为实现上述目的,本申请实施例提供一种客户端,包括:存储器和处理器;所述存储器,用于存储程序指令;所述处理器通过执行所述程序指令实现的功能包括:确定外部服务器的授权状态;其中,所述授权状态用于表示所述外部服务器是否具有获取内部服务器中用户信息的权限;在所述外部服务器处于已授权状态的条件下,向所述外部服务器发送外部账户登录请求,以便于所述外部服务器登录指定外部账户;其中,所述外部账户登录请求中携带有指定内部账户;所述指定内部账户与所述指定外部账户相关联。
为实现上述目的,本申请实施例提供一种账户登录方法,包括:接收外部账户登录请求;其中,所述外部账户登录请求中携带有指定内部账户;查找所述指定内部账户对应的指定外部账户;在查找到所述指定外部账户的条件下,登录所述指定外部账户。
为实现上述目的,本申请实施例提供一种服务器,包括:存储器和处理器;所述存储器,用于存储程序指令;所述处理器通过执行所述程序指令实现的功能包括:接收外部账户登录请求;其中,所述外部账户登录请求中携带有指定内部账户;查找所述指定内部账户对应的指定外部账户;在查找到所述指定外部账户的条件下,登录所述指定外部账户。
为实现上述目的,本申请实施例提供一种页面显示方法,包括:向外部服务器发送页面获取请求;其中,所述页面获取请求中携带有指定页面标识;所述指定页面标识用于唯一标识一个业务页面数据;接收所述外部服务器发来的所述指定页面标识所标识的业务页面数据;在所述外部服务器处于已授权状态的条件下,显示所述业务页面数据对应的业务页面。
为实现上述目的,本申请实施例提供一种客户端,包括:存储器、处理器和显示器;所述存储器,用于存储程序指令;所述处理器通过执行所述程序指令实现的功能包括:向外部服务器发送页面获取请求;其中,所述页面获取请求中携带有指定页面标识;所述指定页面标识用于唯一标识一个业务页面数据;接收所述外部服务器发来的所述指定页面标识所标识的业务页面数据;在所述外部服务器处于已授权状态的条件下,控制所述显示器显示所述业务页面数据对应的业务页面;所述显示器,用于显示所述业务页面。
由以上本申请实施例提供的技术方案可见,与现有技术相比,在外部服务器处于已授权状态的条件下,客户端向所述外部服务器发送的外部账户登录请求中可以不需要携带有授权码,而是可以直接携带有指定内部账户。如此,所述外部服务器在接收到外部账户登录请求后,可以不需要基于所述授权码与内部服务器进行通信以获取指定内部账户,而是可以直接登录所述指定内部账户对应的指定外部账户。因此,本申请实施例可以减少外部账户登录过程花费的时间,提高用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种账户登录方法的流程图;
图2为本申请实施例一个应用场景的流程图;
图3为本申请实施例一种业务获取页面示意图;
图4为本申请实施例一种触发页面获取控件的示意图;
图5为本申请实施例一种授权页面示意图;
图6为本申请实施例一种业务页面示意图;
图7为本申请实施例一种账户登录方法的流程图;
图8为本申请实施例另一种账户登录方法的流程图;
图9为本申请实施例一种页面显示方法的流程图;
图10为本申请实施例一种客户端的功能结构示意图;
图11为本申请实施例另一种客户端的功能结构示意图;
图12为本申请实施例一种服务器的功能结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了方便本领域技术人员理解本申请实施例的技术方案,下面先对所述技术方案实现的技术环境进行说明。
短连接是指通信实体双方,在需要传输数据时建立通信连接,并在数据传输完成后断开通信连接的通信方式。采用短连接进行通信的通信实体双方,每建立一次通信连接通常只完成一次数据传输。长连接是指通信实体双方,在需要传输数据时建立通信连接,并在数据传输完成后保持通信连接,直至通信实体双方中的任意一方断开通信连接为止的通信方式。采用长连接进行通信的通信实体双方,每建立一次通信连接可以完成一次或多次数据传输。
在需要进行多次数据传输时,采用短连接进行通信的通信实体双方,通常需要建立多次通信连接;采用长连接进行通信的通信实体双方,可以只建立一次连接。通信连接的建立通常需要花费较多的时间。例如,在基于TCP协议(Transmission Control Protocol,传输控制协议)进行通信时,通信连接的建立通常需要经过DNS解析、和TCP握手等过程。因此,相较于采用短连接进行通信,采用长连接进行通信的通信实体双方,可以减少通信连接的建立次数,从而可以减少数据传输所花费的时间。
应用程序接口是一系列预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
通常地,开放平台可以将提供的业务服务封装为应用程序接口,并可以向服务使用者提供接口描述信息。所述接口描述信息可以用于描述应用程序接口。具体地,例如,可以包括应用程序接口的标识、输入变量的种类、和输出变量的种类等信息。应用程序接口的标识可以用于唯一标识该应用程序接口,具体可以包括该应用程序接口的名称等。
例如,所述开放平台可以为微信服务器、或支付宝服务器等。所述服务使用者可以为客户端,也可以为服务器,还可以为客户端和服务器组成的***。具体地,例如,可以为京东客户端和/或京东服务器等。所述业务服务可以为在线支付、即时通讯等。所述应用程序接口可以为统一收单交易退款接口、或支付宝钱包用户信息共享接口等。具体地,例如,所述支付宝钱包用户信息共享接口的接口描述信息,可以包括接口标识alipay.user.userinfo.share、输入参数app_id和method、输出参数user_id和avatar等等。
服务使用者在需要获取开放平台的某一业务服务时,可以基于开放平台提供的该业务服务对应的接口描述信息,生成该业务服务对应的接口调用参数;可以向开放平台发送所述接口调用参数。开放平台在接收到所述接口调用参数后,可以执行所述接口调用参数对应的应用程序接口,以向服务使用者提供该业务服务。所述接口调用参数可以包括应用程序接口的标识、和应用程序接口的输入参数等。
为了便于本领域技术人员理解本申请实施例的技术方案,以下介绍本申请实施例的一个具体应用场景。实现所述应用场景的执行主体可以包括内部服务器100、客户端200、和外部服务器300。
在本应用场景中,所述内部服务器100可以提供自身的业务服务。例如,所述内部服务器100可以为微信开放平台,所述微信开放平台自身的业务服务可以包括即时通信、在线支付等业务服务。
所述内部服务器100还可以引入一个或多个第三方服务商。如此,所述内部服务器100还可以提供所述一个或多个第三方服务商的业务服务。例如,所述内部服务器100可以为微信开放平台,所述第三方服务商可以为大众点评服务商。所述微信开放平台可以引入大众点评服务商。那么,所述微信开放平台可以提供所述大众点评服务商的商户信息搜索业务服务。
所述内部服务器100可以为一个单独的服务器,还可以为包括多个服务器的服务器集群。
在本应用场景中,所述客户端200可以为服务使用者。所述客户端200可以获取所述内部服务器100的业务服务,还可以获取第三方服务商的业务服务。
所述客户端200可以以硬件形式来实现。例如,所述客户端200可以为智能手机、平板电子设备、便携式计算机、个人数字助理(PDA)、智能穿戴设备、或个人计算机(PC机)等硬件设备。所述客户端200也可以以软件形式来实现。例如,所述客户端200可以为微信、支付宝、或新浪微博等应用程序。当然,所述客户端200还可以以硬件和软件的组合形式来实现。
所述客户端200可以与所述内部服务器100相关联。例如,所述内部服务器100可以为微信开放平台,所述客户端200可以为微信应用程序。
所述客户端200与所述内部服务器100可以采用短连接或长连接等通信方式进行通信。
在本应用场景中,所述外部服务器300可以为所述内部服务器100引入的一个第三方服务商的服务器。例如,所述内部服务器100可以为微信开放平台,所述外部服务器300可以为大众点评服务商的服务器。
所述外部服务器300通常与所述客户端200不具有关联关系。例如,所述外部服务器300可以为大众点评服务商的服务器,所述客户端200可以为微信应用程序。
所述外部服务器300可以为一个单独的服务器,还可以为包括多个服务器的服务器集群。
所述外部服务器300与所述客户端200可以采用短连接或长连接等通信方式进行通信。所述外部服务器300与所述内部服务器100也可以采用短连接或长连接等通信方式进行通信。
请参阅图2。所述应用场景可以包括外部服务器注册过程(一)、和外部账户登录过程(二)。本领域技术人员应当能够理解,出于解释的目的,图2中设定了所述应用场景的执行过程。但显然,所述应用场景在实际上并不限于图2中的执行过程。具体地,所述应用场景在实际上可以包括图2中的部分执行过程,或者,还可以包括其它的执行过程。另外,为了避免使所述应用场景的介绍含糊不清,对于众所周知的步骤或过程,进行了忽略或简化处理。
下面首先介绍外部服务器注册过程(一)。所述外部服务器注册过程(一)可以包括如下步骤。
步骤S101:外部服务器300向内部服务器100发送注册请求。
在本应用场景中,所述外部服务器300可以显示注册页面,所述注册页面可以包括注册控件和信息输入控件等。所述注册控件可以指向所述内部服务器100。例如,所述注册控件可以为页面按钮等。所述信息输入控件可以用于接收用户输入的注册信息。例如,所述信息输入控件可以为输入框、或下拉框等。
用户可以在所述信息输入控件输入所述外部服务器300的注册信息。在输入完成后,用户可以点击所述注册控件。当然,用户还可以采用其它方式触发所述触发控件。例如,双击等。所述外部服务器300在检测到所述注册控件发生点击事件后,可以向所述内部服务器100发送注册请求,所述注册请求中可以携带有所述注册信息。
在本应用场景中,所述外部服务器300可以具有指定服务器标识,所述指定服务器标识可以用于标识所述外部服务器300。
具体地,所述指定服务器标识可以为所述内部服务器100生成的信息。例如,可以为所述内部服务器100生成的字符串等。如此,所述注册信息可以包括所述外部服务器300的通信地址、和业务信息等。所述通信地址可以为所述外部服务器300的IP(InternetProtocol,网络协议)地址或域名地址。当然,所述通信地址还可以为所述外部服务器300的其它地址。例如,所述外部服务器300的网关地址、或URL(Uniform Resoure Locator,统一资源***)地址。所述业务信息包括但不限于所述外部服务器300的业务名称、和业务图标等信息。
或者,所述指定服务器标识也可以为所述外部服务器300自身所具有的属性信息。例如,也可以为所述外部服务器300的机器码、或硬件设备型号等。当然,所述指定服务器标识还可以为所述外部服务器300自身生成的信息。例如,还可以为所述外部服务器300自身生成的字符串等。如此,所述注册信息可以包括所述外部服务器300的通信地址、业务信息、和指定服务器标识等。
步骤S102:所述内部服务器100对所述外部服务器300进行注册,并向所述外部服务器300发送注册结果。
在本应用场景中,所述内部服务器100可以具有客户端标识,所述客户端标识可以用于标识所述客户端200。所述内部服务器100中的客户端标识可以是所述客户端200发来的。当然,所述内部服务器100自身还可以存储有所述客户端标识。
如前所述,所述客户端200可以与所述内部服务器100相关联。如此,可以将所述内部服务器100的业务服务的标识作为所述客户端标识。其中,所述业务服务的标识可以用于标识所述内部服务器100的业务服务,具体可以为字符串等。例如,所述客户端200可以为支付宝应用程序,所述内部服务器100可以为支付宝开放平台,所述支付宝开放平台的业务服务的标识可以为Alipay。那么,可以将Alipay作为所述客户端标识。
或者,所述客户端标识也可以为所述客户端200自身所具有的属性信息。例如,也可以为所述客户端200的机器码、或硬件设备型号等。
又或者,所述客户端标识还可以为所述客户端200自身生成的信息。例如,还可以为所述客户端200自身生成的字符串等。
在本应用场景中,所述内部服务器100可以存储有账户接口描述信息。所述账户接口描述信息可以用于描述所述客户端200的账户应用程序接口。例如,可以包括账户应用程序接口的标识、输入参数的种类和数值类型、输出参数的种类和数值类型等信息。其中,所述账户应用程序接口的标识可以用于唯一标识所述账户应用程序接口,具体可以包括所述账户应用程序接口的名称等。
所述账户应用程序接口可以为所述客户端200的一个应用程序接口,用于向所述外部服务器300发送指定内部账户。所述指定内部账户可以为所述客户端200的当前登录内部账户,也可以为历史登录内部账户。当然,所述指定内部账户还可以为用户在所述客户端200输入的待登录内部账户。其中,所述内部账户可以为在所述内部服务器100上注册的用户账户。
在本应用场景中,如前所述,所述内部服务器100可以具有客户端标识,可以存储有账户接口描述信息。如此,所述内部服务器100可以采用如下方式,对所述外部服务器300进行注册,并向所述外部服务器300发送注册结果。
在本应用场景的一个实施方式中,所述注册信息可以包括所述外部服务器300的通信地址、和业务信息等。如此,在接收到所述外部服务器300发来的注册请求后,所述内部服务器100可以生成一个用于标识所述外部服务器300的指定服务器标识;可以建立所述指定服务器标识分别与所述通信地址、和所述业务信息的对应关系;可以将所述指定服务器标识、所述客户端标识、和所述账户接口描述信息作为注册结果;可以向所述外部服务器300发送所述注册结果。
或者,在本实施方式中,在接收到所述外部服务器300发来的注册请求后,所述内部服务器100可以生成一个用于标识所述外部服务器300的指定服务器标识;可以生成对称密钥;可以建立所述指定服务器标识分别与所述通信地址、所述业务信息、和所述对称密钥的对应关系;可以将所述指定服务器标识、所述对称密钥、所述客户端标识、和所述账户接口描述信息作为注册结果;可以向所述外部服务器300发送所述注册结果。其中,所述对称密钥可以用于实现对称加密通信,以保证通信过程的安全性。
又或者,在本实施方式中,在接收到所述外部服务器300发来的注册请求后,所述内部服务器100可以生成一个用于标识所述外部服务器300的指定服务器标识;可以生成一对相互匹配的公钥和私钥;可以建立所述指定服务器标识分别与所述通信地址、所述业务信息、和所述私钥的对应关系;可以将所述指定服务器标识、所述公钥、所述客户端标识、和所述账户接口描述信息作为注册结果;可以向所述外部服务器300发送所述注册结果。其中,所述公钥和所述私钥可以用于实现电子签名通信。
在本应用场景的另一个实施方式中,所述注册信息可以包括所述外部服务器300的通信地址、业务信息、和指定服务器标识等。如此,在接收到所述外部服务器300发来的注册请求后,所述内部服务器100可以建立所述指定服务器标识分别与所述通信地址、和所述业务信息的对应关系;可以将所述客户端标识、和所述账户接口描述信息作为注册结果;可以向所述外部服务器300发送所述注册结果。
当然,在本实施方式中,在接收到所述外部服务器300发来的注册请求后,所述内部服务器100还可以生成对称密钥、或一对相互匹配的公钥和私钥,以用于实现对称加密通信、或电子签名通信。其具体实现过程可以参照前述实施方式,在此不再赘述。
步骤S103:所述外部服务器300接收所述注册结果。
在本应用场景的一个实施方式中,所述注册结果可以包括指定服务器标识、客户端标识、和账户接口描述信息。如此,所述外部服务器300可以接收所述注册结果,可以建立所述客户端标识分别与所述指定服务器标识、和所述账户接口描述信息的对应关系。
或者,在本实施方式中,所述注册结果也可以包括指定服务器标识、对称密钥、客户端标识、和账户接口描述信息。如此,所述外部服务器300可以接收所述注册结果,可以建立所述客户端标识分别与所述指定服务器标识、所述对称密钥、和所述账户接口描述信息的对应关系。
又或者,在本实施方式中,所述注册结果还可以包括指定服务器标识、公钥、客户端标识、和账户接口描述信息。如此,所述外部服务器300可以接收所述注册结果,可以建立所述客户端标识分别与所述指定服务器标识、所述公钥、和所述账户接口描述信息的对应关系。
在本应用场景的另一个实施方式中,所述注册结果可以包括客户端标识、和账户接口描述信息。如此,所述外部服务器300可以接收所述注册结果,可以建立所述客户端标识与所述账户接口描述信息的对应关系。
当然,在本实施方式中,所述内部服务器100还可以生成对称密钥、或一对相互匹配的公钥和私钥。如此,所述外部服务器300可以建立所述客户端标识分别与所述对称密钥、和所述账户接口描述信息的对应关系;或建立所述客户端标识分别与所述公钥、和所述账户接口描述信息的对应关系。其具体实现过程可以参照前述实施方式,在此不再赘述。
下面介绍外部账户登录过程(二)。所述外部账户登录过程(二)可以包括如下步骤。
步骤S104:所述客户端200向所述外部服务器300发送业务页面获取请求。
在本应用场景中,请参阅图3。所述客户端200可以显示业务获取页面。例如,所述客户端200可以集成有内置浏览器,所述内置浏览器可以显示所述业务获取页面。
所述业务获取页面可以包括页面获取控件。所述页面获取控件具体可以为图标控件、文字控件、或按钮控件等。所述页面获取控件可以与指定页面标识相关联。所述指定页面标识可以用于唯一标识所述外部服务器300的一个业务页面数据。所述指定页面标识可以为所述业务页面数据的链接地址。当然,所述指定页面标识还可以为所述业务页面数据的其它信息。例如,所述业务页面数据的编码。
例如,所述页面获取控件可以为文字为“点击搜索商户信息”的文字控件,所述文件控件的超链接可以为所述指定页面标识。
在本应用场景中,请参阅图4。用户可以触发所述页面获取控件。例如,用户可以单击、或双击所述页面获取控件。所述客户端200在检测到所述页面获取控件发生触发事件后,可以向所述外部服务器300发送页面获取请求。所述业务页面获取请求中可以携带有客户端标识和所述指定页面标识。其中,所述客户端标识可以用于标识所述客户端200。
步骤S105:所述外部服务器300向所述客户端200发送业务页面数据。
在本应用场景中,在接收到所述客户端200发来的页面获取请求后,所述外部服务器300可以获取账户接口描述信息、业务页面数据、和指定服务器标识;可以基于所述账户接口描述信息,生成账户接口调用参数;可以向所述客户端200发送所述业务页面数据、所述账户接口调用参数、和所述指定服务器标识。
在本应用场景中,所述外部服务器300可以采用如下方式获取账户接口描述信息、业务页面数据、和指定服务器标识。
在本应用场景的一个实施方式中,如前所述,所述指定服务器标识可以为所述内部服务器100生成的信息;所述外部服务器300可以建立客户端标识分别与账户接口描述信息、和指定服务器标识的对应关系。如此,在接收到所述客户端200发来的页面获取请求后,所述外部服务器300可以获取所述指定页面标识所标识的业务页面数据;可以获取所述客户端标识分别对应的指定服务器标识、和账户接口描述信息。
在本应用场景的一个实施方式中,如前所述,所述指定服务器标识可以为所述外部服务器300自身所具有的属性信息,或所述外部服务器300自身生成的信息;所述外部服务器300可以建立客户端标识与账户接口描述信息的对应关系。如此,在接收到所述客户端200发来的页面获取请求后,所述外部服务器300可以获取所述指定页面标识所标识的业务页面数据;可以获取所述客户端标识对应的账户接口描述信息;可以获取自身的指定服务器标识。
在本应用场景中,所述外部服务器300可以采用如下方式生成账户接口调用参数。
如前所述,所述账户接口描述信息可以用于描述账户应用程序接口。例如,可以包括账户应用程序接口的标识、输入参数的种类、输出参数的种类等信息。如此,所述外部服务器300可以将所述账户接口描述信息中,账户应用程序接口的标识作为账户接口调用参数。
或者,所述外部服务器300可以对所述账户接口描述信息中的部分或全部输入变量进行赋值,得到输入参数;可以将所述输入参数、和所述账户应用程序接口的标识作为所述账户接口调用参数。当然,所述外部服务器300还可以将所述账户应用程序接口的标识、和赋值后的输入参数封装成一个整体,可以将封装后的整体作为所述账户接口调用参数。例如,可以将所述账户应用程序接口的标识、和赋值后的输入参数封装为一个函数,可以将该函数作为所述账户接口调用参数。
在本应用场景中,所述外部服务器300可以采用如下方式发送所述业务页面数据、所述账户接口调用参数、和所述指定服务器标识。
在本应用场景的一个实施方式中,所述账户接口调用参数可以不包括所述指定服务器标识。如此,所述外部服务器300可以向所述客户端200分别发送所述业务页面数据、所述账户接口调用参数、和所述指定服务器标识。当然,所述外部服务器300还可以将所述账户接口调用参数写入所述业务页面数据。如此,所述外部服务器300可以向所述客户端200分别发送写入账户接口调用参数的业务页面数据、和所述指定服务器标识。
在本应用场景的另一个实施方式中,所述账户接口调用参数可以包括所述指定服务器标识。例如,所述指定服务器标识可以为所述账户接口调用参数中的一个输入参数。如此,所述外部服务器300可以向所述客户端200分别发送所述业务页面数据、和所述账户接口调用参数。当然,所述外部服务器300还可以将所述账户接口调用参数写入所述业务页面数据。如此,所述外部服务器300可以向所述客户端200单独发送写入账户接口调用参数的业务页面数据。
步骤S106:所述客户端200接收所述业务页面数据。
在本应用场景中,所述客户端200可以接收所述外部服务器300发来的所述业务页面数据、所述账户接口调用参数、和所述指定服务器标识。
在本应用场景的一个实施方式中,所述账户接口调用参数可以不包括所述指定服务器标识。如此,所述客户端200可以分别接收所述业务页面数据、所述账户接口调用参数、和所述指定服务器标识。或者,所述外部服务器300还可以将所述账户接口调用参数写入所述业务页面数据。如此,所述客户端200可以分别接收写入账户接口调用参数的业务页面数据、和所述指定服务器标识。
在本应用场景的另一个实施方式中,所述账户接口调用参数还可以包括所述指定服务器标识。如此,所述客户端200可以分别接收所述业务页面数据、和所述指定服务器标识。或者,所述外部服务器300还可以将所述账户接口调用参数写入所述业务页面数据。如此,所述客户端200可以单独接收写入账户接口调用参数的业务页面数据。
步骤S107:所述客户端200确定所述外部服务器300的授权状态。
在本应用场景中,所述授权状态可以用于表示所述外部服务器300是否具有获取内部服务器100中用户信息的权限。所述用户信息包括但不限于用户的账户、头像、昵称、手机号、邮箱等信息。具体地,所述授权状态可以包括已授权状态和未授权状态。在所述外部服务器300处于已授权状态的条件下,所述外部服务器300通常具有获取所述内部服务器100中用户信息的权限。在所述外部服务器300处于未授权状态的条件下,所述外部服务器300通常不具有获取所述内部服务器100中用户信息的权限。
在本应用场景中,通常地,在用户对每个外部服务器进行授权操作后,所述内部服务器100可以将该外部服务器的服务器标识存储至预设服务器标识集。如此,所述内部服务器100可以具有预设服务器标识集。所述预设服务器标识集可以包括至少一个处于已授权状态条件下服务器的服务器标识。所述预设服务器标识集可以采用数据表、线性表、队列、栈、或图等方式来实现。
如前所述,所述内部服务器100可以建立指定服务器标识与通信地址的对应关系;所述客户端200可以接收所述外部服务器300发来的指定服务器标识。如此,所述客户端200可以向所述内部服务器100发送所述指定服务器标识。所述内部服务器100可以接收所述指定服务器标识;可以获取所述指定服务器标识对应的通信地址;可以在预设服务器标识集中匹配所述指定服务器标识;可以基于匹配结果确定所述外部服务器300的授权状态;可以向所述客户端200发送所述通信地址、和所述外部服务器300的授权状态信息。所述客户端200可以接收所述通信地址、和所述外部服务器300的授权状态信息。
具体地,在匹配到所述指定服务器标识时,所述内部服务器100可以确定所述外部服务器300处于已授权状态;可以向所述客户端200发送所述外部服务器300处于已授权状态的信息。在没有匹配到所述指定服务器标识时,所述内部服务器100可以确定所述外部服务器300处于未授权状态;可以向所述客户端200发送所述外部服务器300处于未授权状态的信息。
进一步地,如前所述,所述客户端200和所述内部服务器100可以采用长连接通信方式进行通信。如此,所述客户端200可以采用所述客户端200和所述内部服务器100建立的长连接,向所述内部服务器100发送所述指定服务器标识。当然,如前所述,所述客户端200和所述内部服务器100还可以采用短连接通信方式进行通信。如此,所述客户端200可以建立与所述内部服务器100的短连接,可以采用该短连接向所述内部服务器100发送所述指定服务器标识。
进一步地,如前所述,所述内部服务器100还可以指定服务器标识与业务信息的对应关系。如此,在没有匹配到所述指定服务器标识时,所述内部服务器100还可以获取所述指定服务器标识对应的业务信息,可以向所述客户端200发送所述业务信息。所述客户端200可以接收所述业务信息。
步骤S108:所述客户端200显示授权页面。
在本应用场景中,请参阅图6。在所述外部服务器300处于未授权状态的条件下,所述客户端200可以获取授权页面数据;可以显示所述授权页面数据对应的授权页面。具体地,所述授权页面可以具有同意授权控件和拒绝授权控件。所述同意授权控件和所述拒绝授权控件可以为页面按钮。当然,所述同意授权控件和所述拒绝授权控件还可以为其它形式控件。例如,图片控件。所述同意授权控件和所述拒绝授权控件可以为相同形式的控件,还可以为不同形式的控件。
在本应用场景的一个实施方式中,所述客户端200自身可以存储有授权页面数据。如此,所述客户端200可以从本地获取授权页面数据;可以显示所述授权页面数据对应的授权页面。具体地,在从本地获取授权页面数据后,所述客户端200可以加载并渲染所述授权页面数据,从而得到所述授权页面。
在本应用场景的另一个实施方式中,请参阅图5。如前所述,所述客户端200可以接收所述内部服务器100发来的业务信息。如此,所述客户端200可以从本地获取授权页面数据;可以将所述业务信息写入获取的授权页面数据,得到新的授权页面数据;可以显示所述新的授权页面数据对应的新的授权页面。鉴于所述业务信息可以为所述外部服务器300的业务信息,所述新的授权页面中可以具有所述外部服务器300的业务信息。
所述客户端200显示所述新的授权页面的过程,可以与显示授权页面的过程,相类似。二者可以对照进行解释,在此不再赘述。
所述新的授权页面可以具有同意授权控件和拒绝授权控件。关于所述同意授权控件和所述拒绝授权控件的详细介绍可以参照前述实施方式。
步骤S109:所述客户端200向所述外部服务器300发送外部账户登录请求。
在本应用场景中,所述客户端200可以显示授权页面。用户可以在所述授权页面对所述外部服务器300进行授权操作。所述客户端200响应于针对所述授权页面的授权触发指令,可以向所述外部服务器300发送外部账户登录请求,所述外部账户登录请求中携带有指定内部账户。具体地,所述授权页面可以具有同意授权控件。用户可以触发所述同意授权控件。例如,用户可以点击或双击所述同意授权控件。所述客户端200在检测到所述同意授权控件发生触发事件后,可以向所述外部服务器300发送外部账户登录请求。
在本应用场景中,如前所述,所述客户端200可以接收所述内部服务器100发来的通信地址。如此,所述客户端200可以使用所述通信地址,向所述外部服务器300发送外部账户登录请求。
在本应用场景中,如前所述,所述客户端200可以接收所述外部服务器300发来的账户接口调用参数。如此,所述客户端200可以查找所述账户接口调用参数对应的账户应用程序接口;可以执行所述账户应用程序接口,确定所述外部服务器300的授权状态。
具体地,例如,所述客户端200可以具有内置浏览器。可以将所述客户端200除去所述内置浏览器之外的其它部分作为所述内置浏览器的容器。所述容器可以提供账户应用程序接口。
所述内置浏览器可以接收所述外部服务器300发来的账户接口调用参数;可以基于所述账户接口调用参数,向所述容器发送账户应用程序接口调用请求,以使所述容器向所述外部服务器300发送指定内部账户。其中,所述账户应用程序接口调用请求中可以携带有所述账户接口调用参数。
所述容器在接收到调用账户应用程序接口的请求后,可以查找所述账户接口调用参数对应的账户应用程序接口;可以确定所述外部服务器300的授权状态;在所述外部服务器300处于已授权状态的条件下,或者在用户在授权页面对所述外部服务器300进行授权操作的条件下,可以执行所述账户应用程序接口,向所述外部服务器300发送外部账户登录请求。
或者,在本应用场景中,所述客户端200还可以显示新的授权页面。用户还可以在所述新的授权页面对所述外部服务器300进行授权操作。所述客户端200响应于针对所述新的授权页面的授权触发指令,可以向所述外部服务器300发送外部账户登录请求,所述外部账户登录请求中携带有指定内部账户。
所述客户端200响应针对所述新的授权页面的授权触发指令的过程,可以与响应针对授权页面的授权触发指令的过程,相类似。二者可以对照进行解释,在此不再赘述。
在本应用场景的一个实施方式中,所述外部账户登录请求中还可以携带有请求时间戳。所述请求时间戳可以用于表示所述客户端200发送外部账户登录请求的时刻值。
在本应用场景的另一个实施方式中,所述客户端200可以获取指定服务器标识对应的对称密钥。如此,所述客户端200可以使用所述对称密钥对指定内部账户进行加密,得到加密后的指定内部账户;可以向所述外部服务器300发送外部账户登录请求,所述外部账户登录请求中可以携带有加密后的指定内部账户。或者,所述客户端200还可以使用所述对称密钥对指定内部账户和请求时间戳进行加密,得到加密后的指定内部账户和请求时间戳;可以向所述外部服务器300发送外部账户登录请求,所述外部账户登录请求中可以携带有加密后的指定内部账户和请求时间戳。
具体地,如前所述,所述客户端200可以接收所述外部服务器300发来的指定服务器标识;所述内部服务器100可以建立指定服务器标识与对称密钥的对应关系。如此,所述客户端200可以在本地查找所述指定服务器标识对应的对称密钥。在查找到所述对称密钥的条件下,所述客户端200可以从本地获取所述对称密钥。在未查找到所述对称密钥的条件下,所述客户端200可以向所述内部服务器100发送所述指定服务器标识。所述内部服务器100可以接收所述指定服务器标识;可以获取所述指定服务器标识对应的对称密钥;可以向所述客户端200发送所述对称密钥。所述客户端200可以接收所述对称密钥。
当然,所述客户端200还可以直接向所述内部服务器100发送所述指定服务器标识。所述内部服务器100可以接收所述指定服务器标识;可以获取所述指定服务器标识对应的对称密钥;可以向所述客户端200发送所述对称密钥。所述客户端200可以接收所述对称密钥。
在本应用场景的另一个实施方式中,所述客户端200可以获取指定服务器标识对应的私钥。所述客户端200获取所述私钥的过程,可以与获取所述对称密钥的过程,相类似。二者可以对照进行解释,在此不再赘述。如此,所述客户端200可以使用所述私钥对指定内部账户进行签名,得到签名后的指定内部账户;可以向所述外部服务器300发送外部账户登录请求,所述外部账户登录请求中可以携带有签名后的指定内部账户。或者,所述客户端200还可以使用所述私钥对指定内部账户和请求时间戳进行签名,得到签名后的指定内部账户和请求时间戳;可以向所述外部服务器300发送外部账户登录请求,所述外部账户登录请求中可以携带有签名后的指定内部账户和请求时间戳。
步骤S110:所述外部服务器300登录指定外部账户。
在本应用场景中,所述指定外部账户可以为在所述外部服务器300上注册的用户账户。所述指定外部账户可以与所述指定内部账户相对应。例如,所述指定外部账户可以为张三的大众点评账户,所述指定内部账户可以为张三的微信账户。张三可以将自己的大众点评账户和微信账户进行绑定。那么,张三的大众点评账户可用与张三的微信账户相对应。
在本应用场景中,在接收到所述客户端200发来的外部账户登录请求后,所述外部服务器300可以查找指定内部账户对应的指定外部账户。在查找到所述指定外部账户的条件下,所述外部服务器300可以登录所述指定外部账户。在未查找到所述指定外部账户的条件下,所述外部服务器300可以创建一个外部账户;可以将创建的外部账户作为指定外部账户;可以建立所述指定内部账户与所述指定外部账户的对应关系;可以登录所述指定外部账户。
例如,在查找到所述指定外部账户的条件下,所述外部服务器300可以获取所述指定外部账户对应的用户密码,可以基于所述用户密码登录所述指定外部账户。
例如,在未查找到所述指定外部账户的条件下,在创建指定外部账户的过程中,所述外部服务器300可以设置创建的指定外部账户的默认密码。那么,所述外部服务器300可以基于所述默认密码登录创建的指定外部账户。
具体地,在注册外部账户后,用户可能将该外部账户与自己的内部账户进行绑定。如此,所述外部服务器300可以具有外部账户与内部账户的对应关系。例如,所述外部服务器300可以为大众点评服务器,所述外部账户可以为大众点评账户;所述内部服务器100可以为微信服务器,所述内部账户可以为微信账户。那么,张三在所述大众点评服务器上注册一个外部账户后,可能将该外部账户与自己的微信账户进行绑定。
例如,所述外部账户与内部账户的对应关系可以如表1所示。
表1
内部账户 外部账户
Z_NA Z_WA
L_NB L_WB
W_NC W_WC
上述表1可以包括张三的内部账户Z_NA、李四的内部账户L_NB、王五的内部账户W_NC、张三的外部账户Z_WA、李四的外部账户L_WB、和王五的外部账户W_WC。在所述表1中,张三的内部账户Z_NA与张三的外部账户Z_WA具有对应关系,李四的内部账户L_NB与李四的外部账户L_WB具有对应关系,王五的内部账户W_NC与王五的外部账户W_WC具有对应关系。
如此,所述外部服务器300可以基于所述外部账户与内部账户的对应关系,查找所述指定内部账户对应的指定外部账户。
进一步地,在本应用场景中,在未查找到所述指定外部账户的条件下,所述外部服务器300还可以向所述客户端200发送信息获取请求,以获取创建的指定外部账户的属性信息。所述指定外部账户的属性信息包括但不限于所述指定内部账户对应的手机号、身份证号、头像、和邮箱等信息。
在接收到所述外部服务器300发来的信息获取请求后,所述客户端200可以获取并向所述外部服务器300发送所述指定外部账户的属性信息。所述外部服务器300可以接收所述指定外部账户的属性信息。例如,所述客户端200可以显示信息获取页面。用户可以在所述信息获取页面输入所述指定外部账户的属性信息。所述客户端200可以获取用户输入的所述指定外部账户的属性信息,可以向所述外部服务器300发送所述指定外部账户的属性信息。
在本应用场景的一个实施方式中,如前所述,所述外部账户登录请求中可以携带有请求时间戳。如此,在接收到所述客户端200发来的外部账户登录请求后,所述外部服务器300可以将所述请求时间戳的时刻值与当前时刻值进行对比。在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,所述外部服务器300可以查找所述指定内部账户对应的指定外部账户。在所述请求时间戳的时刻值与当前时刻值的差值大于预设阈值时,所述外部服务器300可以不必查找所述指定内部账户对应的指定外部账户。或者,例如,在所述请求时间戳的时刻值与当前时刻值的差值大于预设阈值时,所述外部服务器300还可以向所述客户端200发送外部账户登录请求已过期的提示信息。所述预设阈值可以根据实际需要灵活设定。例如,可以为10、15、18分钟。
在本应用场景的另一个实施方式中,如前所述,所述外部账户登录请求中可以携带有加密后的指定内部账户;所述外部服务器300可以接收所述内部服务器100发来的对称密钥。如此,在接收到所述客户端200发来的外部账户登录请求后,所述外部服务器300可以使用所述对称密钥对加密后的指定内部账户进行解密,得到指定内部账户;可以查找所述指定内部账户对应的指定外部账户。
在本应用场景的另一个实施方式中,如前所述,所述外部账户登录请求中可以携带有加密后的指定内部账户和请求时间戳;所述外部服务器300可以接收所述内部服务器100发来的对称密钥。如此,在接收到所述客户端200发来的外部账户登录请求后,所述外部服务器300可以使用所述对称密钥对加密后的指定内部账户和请求时间戳进行解密,得到指定内部账户和请求时间戳。所述外部服务器300可以将所述请求时间戳的时刻值与当前时刻值进行对比。在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,所述外部服务器300可以查找所述指定内部账户对应的指定外部账户。在所述请求时间戳的时刻值与当前时刻值的差值大于预设阈值时,所述外部服务器300可以不必查找所述指定内部账户对应的指定外部账户。
在本应用场景的另一个实施方式中,如前所述,所述外部账户登录请求中可以携带有签名后的指定内部账户;所述外部服务器300可以接收所述内部服务器100发来的公钥。如此,在接收到所述客户端200发来的外部账户登录请求后,所述外部服务器300可以使用所述公钥对签名后的指定内部账户进行验签操作,得到指定内部账户;可以查找所述指定内部账户对应的指定外部账户。
在本应用场景的另一个实施方式中,如前所述,所述外部账户登录请求中可以携带有签名后的指定内部账户和请求时间戳;所述外部服务器300可以接收所述内部服务器100发来的公钥。如此,在接收到所述客户端200发来的外部账户登录请求后,所述外部服务器300可以使用所述公钥对签名后的指定内部账户和请求时间戳进行验签操作,得到指定内部账户和请求时间戳。所述外部服务器300可以将所述请求时间戳的时刻值与当前时刻值进行对比。在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,所述外部服务器300可以查找所述指定内部账户对应的指定外部账户。在所述请求时间戳的时刻值与当前时刻值的差值大于预设阈值时,所述外部服务器300可以不必查找所述指定内部账户对应的指定外部账户。
在本应用场景的一个实施方式中,在登录所述指定外部账户后,所述外部服务器300还可以向所述客户端200发送登录信息。所述登录信息可以包括所述指定外部账户。当然,所述登录信息还可以包括其它信息。例如,所述指定外部账户对应的手机号、身份证号、头像、和邮箱等属性信息中的一个或多个。
步骤S111:所述客户端200向所述外部服务器300发送外部账户登录请求。
在本应用场景中,在所述外部服务器300处于已授权状态的条件下,所述客户端200可以直接向所述外部服务器300发送外部账户登录请求,所述外部账户登录请求中携带有指定内部账户。所述客户端200发送外部账户登录请求的过程,可以与步骤S109相类似。二者可以对照进行解释。在此不再赘述。
步骤S112:所述外部服务器300登录指定外部账户。
在本应用场景中,所述外部服务器300登录指定外部账户的过程,可以与步骤S110相类似。二者可以对照进行解释。在此不再赘述。
步骤S110:所述客户端200显示业务页面。
在本应用场景中,如前所述,所述客户端200可以接收所述外部服务器300发来的业务页面数据。如此,所述客户端200可以显示所述业务页面数据对应的业务页面。所述客户端200显示业务页面的过程,可以与显示授权页面的过程,相类似。二者可以对照进行解释,在此不再赘述。
需要说明的是,所述客户端200可以在步骤S107之前显示业务页面,即,在确定所述外部服务器300的授权状态之前显示业务页面。或者,所述客户端200也可以在确定所述外部服务器300处于已授权状态的条件下,显示业务页面。又或者,所述客户端200还可以在在用户在授权页面对所述外部服务器300进行授权操作的条件下,显示业务页面。
需要说明的是,在本应用场景中,如前所述,所述客户端200可以显示授权页面。如此,用户还可以在所述授权页面对所述外部服务器300进行拒绝授权操作。所述客户端200响应于针对所述授权页面的拒绝授权触发指令,可以向所述外部服务器300发送拒绝授权信息。所述客户端200响应针对所述授权页面的拒绝授权触发指令的过程,可以与响应针对所述授权页面的同意授权触发指令的过程,相类似。二者可以对照进行解释,在此不再赘述。
在接收到所述客户端200发来的拒绝授权信息后,所述外部服务器300可以执行预设动作。例如,所述外部服务器300可以提供预设页面数据。所述预设页面数据可以用于显示预设页面。所述预设页面可以为所述外部服务器300的一个业务页面,也可以为所述外部服务器300的一个错误提示页面。当然,所述预设页面还可以为其它页面。那么,在接收到所述客户端200发来的拒绝授权信息后,所述外部服务器300可以向所述客户端200发送所述预设页面数据。所述客户端200可以接收所述预设页面数据,可以显示所述预设页面数据对应的预设页面。
在本应用场景中,用户的使用体验可以是:用户在登录其内部账户、并对外部服务器300进行授权后,不需要在客户端200输入其外部账户的操作,便可以通过客户端200直接登录其在外部服务器300上的外部账户,从而可以直接通过客户端200获取外部服务器300的业务服务,避免了输入外部账户的操作。
例如,所述客户端200可以为微信应用程序,所述内部服务器100可以为微信开放平台,所述外部服务器300可以为大众点评服务商的服务器。那么,张三的用户体验可以是:张三在微信应用程序输入其微信账户、并对大众点评服务商的服务器进行授权后,不需要在微信应用程序输入其大众点评账户的操作,便可以通过客户端200直接登录其大众点评账户,从而可以直接通过微信应用程序获取大众点评服务商的业务服务,避免了输入大众点评账户的操作。
或者,在本应用场景中,用户的使用体验还可以是:用户在登录其指定内部账户、并对外部服务器300进行授权后,不需要在外部服务器300上注册外部账户的操作,便可以通过客户端200直接在外部服务器300上注册外部账户,从而可以直接通过客户端200获取外部服务器300的业务服务,避免了注册外部账户的操作。
本申请实施例提供一种账户登录方法。所述账户登录方法以客户端为主体,关于所述客户端的详细介绍可以参照前述应用场景。请一并参阅图3、图4、图5、图6、和图7。所述账户登录方法可以包括如下步骤。
步骤S21:确定外部服务器的授权状态。
在本实施例中,所述授权状态可以用于表示外部服务器是否具有获取内部服务器中用户信息的权限。关于所述授权状态、所述外部服务器、所述内部服务器、和所述用户信息的详细介绍可以参照前述应用场景。
在本实施例中,所述客户端可以向所述外部服务器发送客户端标识。所述外部服务器可以接收所述客户端标识,可以基于所述客户端标识获取并向所述客户端发送指定服务器标识。所述客户端可以接收所述指定服务器标识,可以基于所述指定服务器标识确定所述外部服务器的授权状态。所述客户端标识可以用于标识所述客户端,所述指定服务器标识可以用于标识所述外部服务器。关于所述客户端标识、和所述指定服务器标识的详细介绍可以参照前述应用场景。
在本实施例中,所述外部服务器具体可以采用如下方式获取指定服务器标识。
在一个实施方式中,所述指定服务器标识可以为所述内部服务器生成的信息;所述外部服务器可以建立客户端标识与指定服务器标识的对应关系。如此,在接收到所述客户端发来的客户端标识后,所述外部服务器可以获取所述客户端标识对应的指定服务器标识。关于所述外部服务器建立客户端标识与指定服务器标识对应关系的详细过程,可以参照前述应用场景。
在另一个实施方式中,所述指定服务器标识可以为所述外部服务器自身所具有的属性信息,或所述外部服务器自身生成的信息。如此,在接收到所述客户端发来的客户端标识后,所述外部服务器可以直接获取自身的指定服务器标识。
在本实施例中,所述客户端具体采用如下方式确定外部服务器的授权状态。
具体地,所述内部服务器可以具有预设服务器标识集,所述预设服务器标识集可以包括至少一个处于已授权状态条件下服务器的服务器标识。关于所述预设服务器标识集的详细介绍可以参照前述应用场景。
如此,所述客户端可以向所述内部服务器发送所述指定服务器标识。所述内部服务器可以接收所述指定服务器标识;可以在预设服务器标识集中匹配所述指定服务器标识;可以基于匹配结果确定所述外部服务器的授权状态;可以向所述客户端发送所述外部服务器的授权状态信息。所述客户端可以接收所述外部服务器的授权状态信息。具体地,在匹配到所述指定服务器标识时,所述内部服务器可以确定所述外部服务器处于已授权状态;可以向所述客户端发送所述外部服务器处于已授权状态的信息。在没有匹配到所述指定服务器标识时,所述内部服务器可以确定所述外部服务器处于未授权状态;可以向所述客户端发送所述外部服务器处于未授权状态的信息。
进一步地,所述客户端和所述内部服务器可以采用长连接通信方式进行通信。如此,所述客户端可以采用所述客户端和所述内部服务器建立的长连接,向所述内部服务器发送所述指定服务器标识。当然,所述客户端和所述内部服务器还可以采用短连接通信方式进行通信。如此,所述客户端可以建立与所述内部服务器的短连接,可以采用该短连接向所述内部服务器发送所述指定服务器标识。
步骤S22:在所述外部服务器处于已授权状态的条件下,向所述外部服务器发送外部账户登录请求。
在本实施例中,在所述外部服务器处于已授权状态的条件下,所述客户端可以向所述外部服务器发送外部账户登录请求,以便于所述外部服务器登录指定外部账户。所述外部账户登录请求中可以携带有指定内部账户,所述指定内部账户与所述指定外部账户相对应。关于所述指定内部账户、和所述指定外部账户的详细介绍可以参照前述应用场景。
在本实施例中,所述客户端可以向所述外部服务器发送客户端标识;所述外部服务器可以接收所述客户端标识,可以基于所述客户端标识获取并向所述客户端发送账户接口调用参数;所述客户端可以接收所述账户接口调用参数。所述客户端可以向所述内部服务器发送指定服务器标识;所述内部服务器可以接收所述指定服务器标识,可以获取并向所述客户端发送通信地址;所述客户端可以接收所述通信地址。
如此,所述客户端可以执行所述账户接口调用参数对应的账户应用程序接口,使用所述通信地址向所述外部服务器发送外部账户登录请求。关于所述账户接口调用参数、所述通信地址、和所述账户应用程序接口的详细介绍可以参照前述应用场景。关于所述客户端执行账户应用程序接口的详细过程,可以参照前述应用场景。
在本实施例中,所述外部服务器可以采用如下方式获取账户接口调用参数。
所述外部服务器可以建立客户端标识与账户接口描述信息的对应关系。如此,在接收到所述客户端发来的客户端标识后,所述外部服务器可以获取所述客户端标识对应的账户接口描述信息;可以基于所述账户接口描述信息,生成账户接口调用参数。关于所述账户接口描述信息的详细介绍可以参照前述应用场景。关于所述外部服务器建立客户端标识与账户接口描述信息对应关系的详细过程,和所述外部服务器生成账户接口调用参数的详细过程,可以参照前述应用场景。
在本实施例中,所述内部服务器可以采用如下方式获取通信地址。
所述内部服务器可以建立指定服务器标识与通信地址的对应关系。如此,在接收到所述客户端发来的指定服务器标识后,所述内部服务器可以获取所述指定服务器标识对应的通信地址。关于所述内部服务器建立指定服务器标识与通信地址对应关系的详细过程,可以参照前述应用场景。
在一个实施方式中,所述账户登录请求中还可以携带有请求时间戳。所述请求时间戳可以用于表示所述客户端发送外部账户登录请求的时刻值。
在另一个实施方式中,所述客户端可以获取指定服务器标识对应的对称密钥。如此,所述客户端可以使用所述对称密钥对指定内部账户进行加密,得到加密后的指定内部账户;可以向所述外部服务器发送外部账户登录请求,所述外部账户登录请求中可以携带有加密后的指定内部账户。或者,所述客户端还可以使用所述对称密钥对指定内部账户和请求时间戳进行加密,得到加密后的指定内部账户和请求时间戳;可以向所述外部服务器发送外部账户登录请求,所述外部账户登录请求中可以携带有加密后的指定内部账户和请求时间戳。
具体地,如前所述,所述客户端可以接收所述外部服务器发来的指定服务器标识。所述内部服务器可以建立指定服务器标识与对称密钥的对应关系。如此,所述客户端可以在本地查找所述指定服务器标识对应的对称密钥。在查找到所述对称密钥的条件下,所述客户端可以从本地获取所述对称密钥。在未查找到所述对称密钥的条件下,所述客户端可以向所述内部服务器发送所述指定服务器标识。所述内部服务器可以接收所述指定服务器标识;可以获取所述指定服务器标识对应的对称密钥;可以向所述客户端发送所述对称密钥。所述客户端可以接收所述对称密钥。关于所述内部服务器建立指定服务器标识与对称密钥对应关系的详细过程,可以参照前述应用场景。
当然,所述客户端还可以直接向所述内部服务器发送所述指定服务器标识。所述内部服务器可以接收所述指定服务器标识;可以获取所述指定服务器标识对应的对称密钥;可以向所述客户端发送所述对称密钥。所述客户端可以接收所述对称密钥。
在另一个实施方式中,所述客户端可以获取指定服务器标识对应的私钥。所述客户端获取所述私钥的过程,可以与获取所述对称密钥的过程,相类似。二者可以对照进行解释,在此不再赘述。如此,所述客户端可以使用所述私钥对指定内部账户进行签名,得到签名后的指定内部账户;可以向所述外部服务器发送外部账户登录请求,所述外部账户登录请求中可以携带有签名后的指定内部账户。或者,所述客户端还可以使用所述私钥对指定内部账户和请求时间戳进行签名,得到签名后的指定内部账户和请求时间戳;可以向所述外部服务器发送外部账户登录请求,所述外部账户登录请求中可以携带有签名后的指定内部账户和请求时间戳。
在一个实施方式中,在所述外部服务器处于未授权状态的条件下,所述客户端可以获取授权页面数据,可以显示所述授权页面数据对应的授权页面。关于所述客户端获取授权页面数据的详细过程,可以参照前述应用场景。关于所述授权页面的详细介绍可以参照前述应用场景。
用户可以在所述授权页面对所述外部服务器进行授权操作。所述客户端响应于针对所述授权页面的授权触发指令,可以向所述外部服务器发送外部账户登录请求,所述外部账户登录请求中可以携带有指定内部账户。关于所述客户端响应针对所述授权页面的授权触发指令的详细过程,可以参照前述应用场景。
在一个实施方式中,在接收到所述客户端发来的外部账户登录请求后,所述外部服务器可以查找所述指定内部账户对应的指定外部账户。
在查找到所述指定外部账户的条件下,所述外部服务器可以登录所述指定外部账户。
在未查找到所述指定外部账户的条件下,所述外部服务器可以创建一个外部账户;可以将创建的外部账户作为指定外部账户;可以建立所述指定内部账户与所述指定外部账户的对应关系;可以登录所述指定外部账户。
进一步地,在未查找到所述指定外部账户的条件下,所述外部服务器还可以向所述客户端发送信息获取请求,以获取创建的指定外部账户的属性信息。关于所述指定外部账户的属性信息的详细介绍,可以参照前述应用场景。在接收到所述外部服务器发来的信息获取请求后,所述客户端可以获取并向所述外部服务器发送所述指定外部账户的属性信息。所述外部服务器可以接收所述指定外部账户的属性信息。
本申请实施例,与现有技术相比,在外部服务器处于已授权状态的条件下,客户端向所述外部服务器发送的外部账户登录请求中可以不需要携带有授权码,而是可以直接携带有指定内部账户。如此,所述外部服务器在接收到外部账户登录请求后,可以不需要基于所述授权码与内部服务器进行通信以获取指定内部账户,而是可以直接登录所述指定内部账户对应的指定外部账户。因此,本申请实施例可以减少外部账户登录过程花费的时间,提高用户体验。
本申请实施例还提供另一种账户登录方法。所述账户登录方法以外部服务器为主体,关于所述外部服务器的详细介绍可以参照前述应用场景。请参阅图8。所述账户登录方法可以包括如下步骤。
步骤S31:接收外部账户登录请求。
在本实施例中,在所述外部服务器处于已授权状态的条件下,客户端可以向所述外部服务器发送外部账户登录请求,所述外部账户登录请求中可以携带有指定内部账户。所述外部服务器可以接收所述外部账户登录请求。关于所述客户端、和所述指定内部账户的详细介绍可以参照前述应用场景。
或者,在本实施例中,在所述外部服务器处于未授权状态的条件下,客户端可以显示授权页面。用户可以在所述授权页面对所述外部服务器进行授权操作。客户端响应于针对所述授权页面的授权触发指令,可以向所述外部服务器发送外部账户登录请求,所述外部账户登录请求中可以携带有指定内部账户。所述外部服务器可以接收所述外部账户登录请求。所述外部服务器可以接收所述外部账户登录请求。
在一个实施方式中,所述外部账户登录请求中还可以携带有请求时间戳。所述请求时间戳可以用于表示所述客户端发送外部账户登录请求的时刻值。
在一个实施方式中,所述客户端可以使用对称密钥对指定内部账户进行加密,得到加密后的指定内部账户;可以向所述外部服务器发送外部账户登录请求。所述外部账户登录请求中可以携带有加密后的指定内部账户。关于所述对称密钥的详细介绍可以参照前述应用场景。
在另一个实施方式中,所述客户端可以使用对称密钥对指定内部账户和请求时间戳进行加密,得到加密后的指定内部账户和请求时间戳;可以向所述外部服务器发送外部账户登录请求。所述外部账户登录请求中可以携带有加密后的指定内部账户和请求时间戳。
在另一个实施方式中,所述客户端可以使用私钥对指定内部账户进行签名,得到签名后的指定内部账户;可以向所述外部服务器发送外部账户登录请求。所述外部账户登录请求中可以携带有签名后的指定内部账户。关于所述私钥的详细介绍可以参照前述应用场景。
在另一个实施方式中,所述客户端可以使用私钥对指定内部账户和请求时间戳进行签名,得到签名后的指定内部账户和请求时间戳;可以向所述外部服务器发送外部账户登录请求。所述外部账户登录请求中可以携带有签名后的指定内部账户和请求时间戳。
步骤S32:查找所述指定内部账户对应的指定外部账户。
在本实施例中,在接收到所述客户端发来的外部账户登录请求后,所述外部服务器可以查找所述指定内部账户对应的指定外部账户。具体地,所述外部服务器可以具有内部账户和外部账户的对应关系。所述外部服务器可以基于所述对应关系,查找所述指定内部账户对应的指定外部账户。关于所述指定外部账户、和所述对应关系的详细介绍可以参照前述应用场景。
在一个实施方式中,所述外部账户登录请求中还可以携带有请求时间戳。如此,在接收到所述客户端发来的外部账户登录请求后,所述外部服务器可以将所述请求时间戳的时刻值与当前时刻值进行对比。在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,所述外部服务器可以查找所述指定内部账户对应的指定外部账户。在所述请求时间戳的时刻值与当前时刻值的差值大于预设阈值时,所述外部服务器可以不必查找所述指定内部账户对应的指定外部账户。或者,例如,在所述请求时间戳的时刻值与当前时刻值的差值大于预设阈值时,所述外部服务器还可以向所述客户端发送外部账户登录请求已过期的提示信息。所述预设阈值可以根据实际需要灵活设定。例如,可以为10、15、18分钟。
在另一个实施方式中,所述外部账户登录请求中还可以携带有加密后的指定内部账户。如此,在接收到所述客户端发来的外部账户登录请求后,所述外部服务器可以使用对称密钥对加密后的指定内部账户进行解密,得到指定内部账户;可以查找所述指定内部账户对应的指定外部账户。
在另一个实施方式中,所述外部账户登录请求中还可以携带有加密后的指定内部账户和请求时间戳。如此,在接收到所述客户端发来的账户登录请求后,所述外部服务器可以使用对称密钥对加密后的指定内部账户和请求时间戳进行解密,得到指定内部账户和请求时间戳。所述外部服务器可以将所述请求时间戳的时刻值与当前时刻值进行对比。在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,所述外部服务器可以查找所述指定内部账户对应的指定外部账户。在所述请求时间戳的时刻值与当前时刻值的差值大于预设阈值时,所述外部服务器可以不必查找所述指定内部账户对应的指定外部账户。
在另一个实施方式中,所述外部账户登录请求中还可以携带有签名后的指定内部账户。如此,在接收到所述客户端发来的外部账户登录请求后,所述外部服务器可以使用公钥对签名后的指定内部账户进行验签操作,得到指定内部账户;可以查找所述指定内部账户对应的指定外部账户。
在另一个实施方式中,所述外部账户登录请求中还可以携带有签名后的指定内部账户和请求时间戳。如此,在接收到所述客户端发来的外部账户登录请求后,所述外部服务器可以使用公钥对签名后的指定内部账户和请求时间戳进行验签操作,得到指定内部账户和请求时间戳。所述外部服务器可以将所述请求时间戳的时刻值与当前时刻值进行对比。在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,所述外部服务器可以查找所述指定内部账户对应的指定外部账户。在所述请求时间戳的时刻值与当前时刻值的差值大于预设阈值时,所述外部服务器可以不必查找所述指定内部账户对应的指定外部账户。
步骤S33:在查找到所述指定外部账户的条件下,登录所述指定外部账户。
在本实施例中,所述外部服务器在查找到所述指定外部账户的条件下,可以登录所述指定外部账户。例如,在查找到所述指定外部账户的条件下,所述外部服务器可以获取所述指定外部账户对应的用户密码,可以基于所述用户密码登录所述指定外部账户。
在一个实施方式中,在未查找到所述指定外部账户的条件下,所述外部服务器可以创建一个外部账户;可以将创建的外部账户作为指定外部账户;可以建立所述指定内部账户与所述指定外部账户的对应关系;可以登录所述指定外部账户。例如,在未查找到所述指定外部账户的条件下,在创建指定外部账户的过程中,所述外部服务器300可以设置创建的指定外部账户的默认密码。那么,所述外部服务器300可以基于所述默认密码登录创建的指定外部账户。
进一步地,在未查找到所述指定外部账户的条件下,所述外部服务器还可以向所述客户端发送信息获取请求,以获取创建的指定外部账户的属性信息。关于所述指定外部账户的属性信息的详细介绍,可以参照前述应用场景。在接收到所述外部服务器发来的信息获取请求后,所述客户端可以获取并向所述外部服务器发送所述指定外部账户的属性信息。所述外部服务器可以接收所述指定外部账户的属性信息。
本申请实施例,与现有技术相比,外部账户登录请求中可以携带有指定内部账户,而不需要携带有授权码。因此,在接收外部账户登录请求后,外部服务器可以查找所述指定内部账户对应的指定外部账户;在查找到所述指定外部账户时,可以直接登录所述指定外部账户;而不需要与内部服务器进行通信以获取指定内部账户,从而可以减少外部账户登录过程花费的时间,提供用户体验。
本申请实施例还提供一种页面显示方法。所述页面显示方法以客户端为主体。关于所述客户端的详细介绍可以参照前述应用场景。请一并参阅图3、图4、图5、图6、和图9。所述页面显示方法可以包括如下步骤。
步骤S41:向外部服务器发送页面获取请求。
在本实施例中,所述客户端可以显示业务获取页面。所述业务获取页面可以包括页面获取控件。所述页面获取控件可以与指定页面标识相关联。所述指定页面标识可以用于唯一标识所述外部服务器300的一个业务页面数据。
用户可以触发所述页面获取控件。所述客户端在检测到所述页面获取控件发生触发事件后,可以向所述外部服务器发送页面获取请求。所述业务页面获取请求中可以携带有客户端标识和所述指定页面标识。其中,所述客户端标识可以用于标识所述客户端。
关于所述客户端标识、和所述页面获取控件的详细介绍,可以参照前述应用场景。
步骤S42:接收所述外部服务器发来的所述指定页面标识所标识的业务页面数据。
在本实施例中,在接收到所述客户端发来的页面获取请求后,所述外部服务器可以获取所述指定页面标识所标识的业务页面数据,可以向所述客户端发送所述业务页面数据。所述客户端可以接收所述业务页面数据。
步骤S43:在所述外部服务器处于已授权状态的条件下,显示所述业务页面数据对应的业务页面。
在本实施例中,所述客户端可以确定所述外部服务器的授权状态。在所述外部服务器处于已授权状态的条件下,所述客户端可以显示所述业务页面数据对应的业务页面。所述客户端确定所述外部服务器授权状态的过程,可以参照前述应用场景。
在一个实施方式中,在所述外部服务器处于未授权状态的条件下,所述客户端可以获取授权页面数据,并可以显示所述授权页面数据对应的授权页面。用户可以在所述授权页面对所述外部服务器进行授权操作。所述客户端响应于针对所述授权页面的授权触发指令,可以显示所述业务页面数据对应的业务页面。所述客户端获取授权页面数据的过程可以参照前述应用场景。所述客户端响应针对所述授权页面的授权触发指令的过程,也可以参照前述应用场景。
本申请实施例,客户端可以向外部服务器发送页面获取请求;可以接收所述外部服务器发来的所述指定页面标识所标识的业务页面数据,并在所述外部服务器处于已授权状态的条件下,可以显示所述业务页面数据对应的业务页面。
请参阅图10。本申请实施例还提供一种客户端。所述客户端可以包括存储器和处理器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。
在本实施例中,所述存储器可以用于存储程序指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。
在本实施例中,所述处理器通过执行所述程序指令实现的功能包括:确定外部服务器的授权状态;其中,所述授权状态用于表示所述外部服务器是否具有获取内部服务器中用户信息的权限;在所述外部服务器处于已授权状态的条件下,向所述外部服务器发送外部账户登录请求,以便于所述外部服务器登录指定外部账户;其中,所述外部账户登录请求中携带有指定内部账户;所述指定内部账户与所述指定外部账户相对应。
在本实施例中,所述处理器实现的功能可以与前述应用场景和实施例对照进行解释。
请参阅图11。本申请实施例还提供另一种客户端。所述客户端可以包括存储器、处理器和显示器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。
在本实施例中,所述存储器可以用于存储程序指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。
在本实施例中,所述处理器通过执行所述程序指令实现的功能包括:向外部服务器发送页面获取请求;其中,所述页面获取请求中携带有指定页面标识;所述指定页面标识用于唯一标识一个业务页面数据;接收所述外部服务器发来的所述指定页面标识所标识的业务页面数据;在所述外部服务器处于已授权状态的条件下,控制所述显示器显示所述业务页面数据对应的业务页面。
在本实施例中,所述显示器可以按任何适当的方式实现。例如,所述显示器可以为液晶(Liquid Crystal Display,LCD)显示器、阴极射线管(Cathode Ray Tube,CRT)显示器、或发光二极管(Light Emitting Diode,LED)显示器等。
在本实施例中,所述显示器可以用于显示所述业务页面。
在本实施例中,所述处理器实现的功能可以与前述应用场景和实施例对照进行解释。
请参阅图12。本申请实施例还提供一种服务器。所述服务器可以包括存储器和处理器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。
在本实施例中,所述存储器可以用于存储程序指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。
在本实施例中,所述处理器通过执行所述程序指令实现的功能包括:接收外部账户登录请求;其中,所述外部账户登录请求中携带有指定内部账户;查找所述指定内部账户对应的指定外部账户;在查找到所述指定外部账户的条件下,登录所述指定外部账户。
在本实施例中,所述处理器实现的功能可以与前述应用场景和实施例对照进行解释。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (34)

1.一种账户登录方法,其特征在于,包括:
确定外部服务器的授权状态;其中,所述授权状态用于表示所述外部服务器是否具有获取内部服务器中用户信息的权限;
在所述外部服务器处于已授权状态的条件下,向所述外部服务器发送外部账户登录请求,以便于所述外部服务器登录指定外部账户;其中,所述外部账户登录请求中携带有指定内部账户;所述指定内部账户与所述指定外部账户相对应。
2.如权利要求1所述的方法,其特征在于,在确定外部服务器的授权状态之前,所述方法还包括:
接收来自所述外部服务器的指定服务器标识;其中,所述指定服务器标识用于标识所述外部服务器;
相应地,所述确定外部服务器的授权状态,包括:
基于所述指定服务器标识,确定所述外部服务器的授权状态。
3.如权利要求2所述的方法,其特征在于,所述基于所述指定服务器标识,确定所述外部服务器的授权状态,包括:
向所述内部服务器发送所述指定服务器标识;
接收所述内部服务器发来的所述外部服务器的授权状态信息;其中,所述授权状态信息基于所述指定服务器标识生成。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述外部服务器处于未授权状态的条件下,获取授权页面数据,并显示所述授权页面数据对应的授权页面;
响应于针对所述授权页面的授权触发指令,向所述外部服务器发送外部账户登录请求。
5.如权利要求4所述的方法,其特征在于,所述获取授权页面数据,包括:
从本地获取授权页面数据。
6.如权利要求4所述的方法,其特征在于,在获取授权页面数据之前,所述方法还包括:
接收来自所述外部服务器的指定服务器标识;其中,所述指定服务器标识用于标识所述外部服务器;
相应地,所述获取授权页面数据,包括:
向所述内部服务器发送所述指定服务器标识;
接收所述内部服务器发来的所述外部服务器的业务信息;其中,所述业务信息基于所述指定服务器标识得到;
从本地获取授权页面数据;
将所述业务信息写入所述授权页面数据,得到新的授权页面数据。
7.如权利要求6所述的方法,其特征在于,所述显示所述授权页面数据对应的授权页面,包括:
显示所述新的授权页面数据对应的新的授权页面;
相应地,所述响应于针对所述授权页面的授权触发指令,向所述外部服务器发送外部账户登录请求,包括:
响应于针对所述新的授权页面的授权触发指令,向所述外部服务器发送外部账户登录请求。
8.如权利要求1或4所述的方法,其特征在于,在向所述外部服务器发送外部账户登录请求之前,所述方法还包括:
接收来自所述外部服务器的账户接口调用参数;其中,所述账户接口调用参数与账户应用程序接口相对应;所述账户应用程序接口用于向所述外部服务器发送所述指定内部账户;
相应地,所述向所述外部服务器发送外部账户登录请求,包括:
执行所述账户应用程序接口,向所述外部服务器发送外部账户登录请求。
9.如权利要求1或4所述的方法,其特征在于,在向所述外部服务器发送外部账户登录请求之前,所述方法还包括:
接收来自所述外部服务器的指定服务器标识;其中,所述指定服务器标识用于标识所述外部服务器;
向所述内部服务器发送所述指定服务器标识;
接收所述内部服务器发来的所述外部服务器的通信地址;其中,所述通信地址基于所述指定服务器标识得到;
相应地,所述向所述外部服务器发送外部账户登录请求,包括:
使用所述通信地址,向所述外部服务器发送外部账户登录请求。
10.如权利要求1或4所述的方法,其特征在于,所述外部账户登录请求中还携带有请求时间戳;所述请求时间戳用于表示客户端发送外部账户登录请求的时刻值。
11.如权利要求1或4所述的方法,其特征在于,所述方法还包括:
接收来自所述外部服务器的指定服务器标识;其中,所述指定服务器标识用于标识所述外部服务器;
向所述内部服务器发送指定服务器标识;
接收所述内部服务器发来的所述指定服务器标识对应的对称密钥。
12.如权利要求1或4所述的方法,其特征在于,所述方法还包括:
接收来自所述外部服务器的指定服务器标识;其中,所述指定服务器标识用于标识所述外部服务器;
从本地获取所述指定服务器标识对应的对称密钥。
13.如权利要求11或12所述的方法,其特征在于,在向所述外部服务器发送外部账户登录请求之前,所述方法还包括:
使用所述对称密钥对所述指定内部账户进行加密,得到加密后的指定内部账户;
相应地,所述外部账户登录请求中携带有所述指定内部账户,包括:
所述外部账户登录请求中携带有加密后的指定内部账户。
14.如权利要求11或12所述的方法,其特征在于,在向所述外部服务器发送外部账户登录请求之前,所述方法还包括:
使用所述对称密钥对所述指定内部账户和请求时间戳进行加密,得到加密后的指定内部账户和请求时间戳;其中,所述请求时间戳用于表示客户端发送外部账户登录请求的时刻值;
相应地,所述外部账户登录请求中携带有所述指定内部账户,包括:
所述外部账户登录请求中携带有加密后的指定内部账户和请求时间戳。
15.如权利要求1或4所述的方法,其特征在于,所述方法还包括:
接收来自所述外部服务器的指定服务器标识;其中,所述指定服务器标识用于标识所述外部服务器;
向所述内部服务器发送指定服务器标识;
接收所述内部服务器发来的所述指定服务器标识对应的私钥。
16.如权利要求1或4所述的方法,其特征在于,所述方法还包括:
接收来自所述外部服务器的指定服务器标识;其中,所述指定服务器标识用于标识所述外部服务器;
从本地获取所述指定服务器标识对应的私钥。
17.如权利要求15或16所述的方法,其特征在于,在向所述外部服务器发送外部账户登录请求之前,所述方法还包括:
使用所述私钥对所述指定内部账户进行签名,得到签名后的指定内部账户;
相应地,所述外部账户登录请求中携带有所述指定内部账户,包括:
所述外部账户登录请求中携带有签名后的指定内部账户。
18.如权利要求15或16所述的方法,其特征在于,在向所述外部服务器发送外部账户登录请求之前,所述方法还包括:
使用所述私钥对所述指定内部账户和请求时间戳进行签名,得到签名后的指定内部账户和请求时间戳;其中,所述请求时间戳用于表示客户端发送外部账户登录请求的时刻值;
相应地,所述外部账户登录请求中携带有所述指定内部账户,包括:
所述外部账户登录请求中携带有签名后的指定内部账户和请求时间戳。
19.如权利要求3、6、9、11、或15所述的方法,其特征在于,所述向所述内部服务器发送所述指定服务器标识,包括:
采用客户端与所述内部服务器建立的长连接,向所述内部服务器发送所述指定服务器标识。
20.如权利要求1或4所述的方法,其特征在于,所述方法还包括:
接收所述外部服务器发来的信息获取请求;
向所述外部服务器发送所述指定外部账户的属性信息。
21.一种客户端,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器通过执行所述程序指令实现的功能包括:确定外部服务器的授权状态;其中,所述授权状态用于表示所述外部服务器是否具有获取内部服务器中用户信息的权限;在所述外部服务器处于已授权状态的条件下,向所述外部服务器发送外部账户登录请求,以便于所述外部服务器登录指定外部账户;其中,所述外部账户登录请求中携带有指定内部账户;所述指定内部账户与所述指定外部账户相关联。
22.一种账户登录方法,其特征在于,包括:
接收外部账户登录请求;其中,所述外部账户登录请求中携带有指定内部账户;
查找所述指定内部账户对应的指定外部账户;
在查找到所述指定外部账户的条件下,登录所述指定外部账户。
23.如权利要求22所述的方法,其特征在于,所述方法还包括:
在未查找到所述指定外部账户的条件下,创建外部账户;
以创建的外部账户作为指定外部账户,建立所述指定内部账户与所述指定外部账户的对应关系;
登录所述指定外部账户。
24.如权利要求22所述的方法,其特征在于,所述方法还包括:
向客户端发送信息获取请求;
接收所述客户端发来的所述指定外部账户的属性信息。
25.如权利要求22所述的方法,其特征在于,所述外部账户登录请求中还携带有请求时间戳;所述请求时间戳用于表示客户端发送外部账户登录请求的时刻值;
相应地,所述查找所述指定内部账户对应的指定外部账户,包括:
在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,查找所述指定内部账户对应的指定外部账户。
26.如权利要求22所述的方法,其特征在于,所述外部账户登录请求中携带有指定内部账户,包括:
所述外部账户登录请求中携带有加密后的指定内部账户;其中,所述加密后的指定内部账户基于对称密钥得到;
相应地,在查找所述指定内部账户对应的指定外部账户之前,所述方法还包括:
使用所述对称密钥对加密后的指定内部账户进行解密,得到指定内部账户。
27.如权利要求22所述的方法,其特征在于,所述外部账户登录请求中携带有指定内部账户,包括:
所述外部账户登录请求中携带有加密后的指定内部账户和请求时间戳;其中,所述请求时间戳用于表示客户端发送外部账户登录请求的时刻值;所述加密后的指定内部账户和请求时间戳基于对称密钥得到;
相应地,在查找所述指定内部账户对应的指定外部账户之前,所述方法还包括:
使用所述对称密钥对加密后的指定内部账户和请求时间戳进行解密,得到指定内部账户和请求时间戳;
相应地,所述查找所述指定内部账户对应的指定外部账户,包括:
在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,查找所述指定内部账户对应的指定外部账户。
28.如权利要求22所述的方法,其特征在于,所述外部账户登录请求中携带有指定内部账户,包括:
所述外部账户登录请求中携带有签名后的指定内部账户;其中,所述签名后的指定内部账户基于私钥得到;
相应地,在查找所述指定内部账户对应的指定外部账户之前,所述方法还包括:
使用公钥对签名后的指定内部账户进行验签操作,得到指定内部账户;其中,所述公钥与所述私钥相匹配。
29.如权利要求22所述的方法,其特征在于,所述外部账户登录请求中携带有指定内部账户,包括:
所述外部账户登录请求中携带有签名后的指定内部账户和请求时间戳;其中,所述请求时间戳用于表示客户端发送外部账户登录请求的时刻值;所述签名后的指定内部账户和请求时间戳基于私钥得到;
相应地,在查找所述指定内部账户对应的指定外部账户之前,所述方法还包括:
使用公钥对签名后的指定内部账户和请求时间戳进行验签操作,得到指定内部账户和请求时间戳;其中,所述公钥与所述私钥相匹配;
相应地,所述查找所述指定内部账户对应的指定外部账户,包括:
在所述请求时间戳的时刻值与当前时刻值的差值小于或等于预设阈值时,查找所述指定内部账户对应的指定外部账户。
30.一种服务器,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器通过执行所述程序指令实现的功能包括:接收外部账户登录请求;其中,所述外部账户登录请求中携带有指定内部账户;查找所述指定内部账户对应的指定外部账户;在查找到所述指定外部账户的条件下,登录所述指定外部账户。
31.一种页面显示方法,其特征在于,包括:
向外部服务器发送页面获取请求;其中,所述页面获取请求中携带有指定页面标识;所述指定页面标识用于唯一标识一个业务页面数据;
接收所述外部服务器发来的所述指定页面标识所标识的业务页面数据;
在所述外部服务器处于已授权状态的条件下,显示所述业务页面数据对应的业务页面。
32.如权利要求31所述的方法,其特征在于,所述方法还包括:
在所述外部服务器处于未授权状态的条件下,获取授权页面数据,并显示所述授权页面数据对应的授权页面;
响应于针对所述授权页面的授权触发指令,显示所述业务页面数据对应的业务页面。
33.如权利要求31所述的方法,其特征在于,在向外部服务器发送页面获取请求之前,所述方法还包括:
显示业务获取页面;其中,所述业务获取页面包括页面获取控件;所述页面获取控件与所述指定页面标识相关联;
相应地,所述向外部服务器发送页面获取请求,包括:
响应于针对所述页面获取控件的触发指令,向所述外部服务器发送页面获取请求。
34.一种客户端,其特征在于,包括:存储器、处理器和显示器;
所述存储器,用于存储程序指令;
所述处理器通过执行所述程序指令实现的功能包括:向外部服务器发送页面获取请求;其中,所述页面获取请求中携带有指定页面标识;所述指定页面标识用于唯一标识一个业务页面数据;接收所述外部服务器发来的所述指定页面标识所标识的业务页面数据;在所述外部服务器处于已授权状态的条件下,控制所述显示器显示所述业务页面数据对应的业务页面;
所述显示器,用于显示所述业务页面。
CN201710149928.XA 2017-03-14 2017-03-14 账户登录方法、页面显示方法、客户端、和服务器 Active CN107196898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710149928.XA CN107196898B (zh) 2017-03-14 2017-03-14 账户登录方法、页面显示方法、客户端、和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710149928.XA CN107196898B (zh) 2017-03-14 2017-03-14 账户登录方法、页面显示方法、客户端、和服务器

Publications (2)

Publication Number Publication Date
CN107196898A true CN107196898A (zh) 2017-09-22
CN107196898B CN107196898B (zh) 2020-07-03

Family

ID=59870815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710149928.XA Active CN107196898B (zh) 2017-03-14 2017-03-14 账户登录方法、页面显示方法、客户端、和服务器

Country Status (1)

Country Link
CN (1) CN107196898B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587249A (zh) * 2018-12-07 2019-04-05 北京金山云网络技术有限公司 信息发送、接收方法、装置、服务器、客户端及存储介质
CN109635212A (zh) * 2018-12-11 2019-04-16 杭州启博科技有限公司 基于微信的将用户关联至app的方法
CN110166529A (zh) * 2019-04-16 2019-08-23 平安普惠企业管理有限公司 保持登录态方法、装置、设备及存储介质
CN111385267A (zh) * 2018-12-29 2020-07-07 金联汇通信息技术有限公司 应用的授权控制方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710759A (zh) * 2012-05-22 2012-10-03 中国联合网络通信集团有限公司 Web服务器、业务登录方法及***
US8433764B2 (en) * 2010-02-09 2013-04-30 Google Inc. Identification of message recipients
CN104038503A (zh) * 2014-06-24 2014-09-10 北京奇虎科技有限公司 跨网站登录的方法,装置和***
CN104660557A (zh) * 2013-11-19 2015-05-27 腾讯科技(深圳)有限公司 操作处理方法和装置
CN105592011A (zh) * 2014-10-23 2016-05-18 阿里巴巴集团控股有限公司 一种账号登录方法及装置
US9509672B1 (en) * 2013-11-08 2016-11-29 Ca, Inc. Providing seamless and automatic access to shared accounts

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8433764B2 (en) * 2010-02-09 2013-04-30 Google Inc. Identification of message recipients
CN102710759A (zh) * 2012-05-22 2012-10-03 中国联合网络通信集团有限公司 Web服务器、业务登录方法及***
US9509672B1 (en) * 2013-11-08 2016-11-29 Ca, Inc. Providing seamless and automatic access to shared accounts
CN104660557A (zh) * 2013-11-19 2015-05-27 腾讯科技(深圳)有限公司 操作处理方法和装置
CN104038503A (zh) * 2014-06-24 2014-09-10 北京奇虎科技有限公司 跨网站登录的方法,装置和***
CN105592011A (zh) * 2014-10-23 2016-05-18 阿里巴巴集团控股有限公司 一种账号登录方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587249A (zh) * 2018-12-07 2019-04-05 北京金山云网络技术有限公司 信息发送、接收方法、装置、服务器、客户端及存储介质
CN109635212A (zh) * 2018-12-11 2019-04-16 杭州启博科技有限公司 基于微信的将用户关联至app的方法
CN111385267A (zh) * 2018-12-29 2020-07-07 金联汇通信息技术有限公司 应用的授权控制方法、装置及电子设备
CN111385267B (zh) * 2018-12-29 2022-06-21 金联汇通信息技术有限公司 应用的授权控制方法、装置及电子设备
CN110166529A (zh) * 2019-04-16 2019-08-23 平安普惠企业管理有限公司 保持登录态方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107196898B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN105900396B (zh) 移动云服务体系架构
CN111245825B (zh) 小程序登录方法、服务器和电子设备
CN107370730A (zh) 一种登录信息处理方法及设备
CN107533501A (zh) 使用区块链自动认证设备完整性
CN107196898A (zh) 账户登录方法、页面显示方法、客户端、和服务器
CN106716404A (zh) 计算机子网内的代理服务器
CN108885666A (zh) 用于检测和防止伪冒的***和方法
JP6756905B2 (ja) Urlベースの二次元コードに関連付けたサービスの管理
CN106663018A (zh) 在容器化工作空间环境中修改android应用生命周期以控制其执行的方法
US20150169392A1 (en) System and method for providing an application programming interface intermediary for hypertext transfer protocol web services
CN110084007A (zh) 风险控制模型的构建方法、装置及终端
JP7165715B2 (ja) 統合検索のためのサポートを伴う保護されたフィールド上の自動動作検出
Maata et al. Design and implementation of client-server based application using socket programming in a distributed computing environment
CN106789227B (zh) 一种上网行为分析方法及上网行为分析装置
CN111224834A (zh) 模拟测试方法、装置、服务器及存储介质
CN107426266A (zh) 数据处理方法和服务器
KR101710824B1 (ko) 제삼자 서비스 플랫폼 로그인을 위한 방법 및 시스템
CN107770165A (zh) 一种模拟设备发送请求的方法和装置
CN116244682A (zh) 数据库的访问方法、装置、设备以及存储介质
CN110263563A (zh) 借助于区块链的广告点击数据上链方法及其设备
CN105519069B (zh) 数据处理***、中心装置以及程序
CN110263529A (zh) 应用智能合约的摇号数据上链方法及其设备
US20220261784A1 (en) Systems and methods for determining payment card provisioning availability in mobile applications
CN106570699A (zh) 客户联系信息挖掘方法及服务器
JP2020086622A (ja) 情報管理方法及び装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1244597

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: Greater Cayman, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right