CN110036615B - 经由参数传递帐号认证信息的方法、***和计算机可读介质 - Google Patents

经由参数传递帐号认证信息的方法、***和计算机可读介质 Download PDF

Info

Publication number
CN110036615B
CN110036615B CN201780074297.8A CN201780074297A CN110036615B CN 110036615 B CN110036615 B CN 110036615B CN 201780074297 A CN201780074297 A CN 201780074297A CN 110036615 B CN110036615 B CN 110036615B
Authority
CN
China
Prior art keywords
application
account
authentication
client device
link
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.)
Active
Application number
CN201780074297.8A
Other languages
English (en)
Other versions
CN110036615A (zh
Inventor
J.刘易斯
A.卡西纳
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN110036615A publication Critical patent/CN110036615A/zh
Application granted granted Critical
Publication of CN110036615B publication Critical patent/CN110036615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

用于经由参数传递帐号认证信息的***和方法。服务器可以向客户端设备提供从用于认证第一应用的帐号凭证导出的帐号参数以***链接中。链接可以包括引用第二应用的地址。帐号参数可以响应于链接上的交互而从第一应用传递到第二应用。在将帐号参数从第一应用传递到第二应用之后,服务器可以从客户端设备的第二应用接收包括帐号参数的认证第二应用的请求。服务器可以使用帐号参数对于第二应用认证客户端设备。响应于对于第二应用认证客户端设备,服务器可以向客户端设备的第二应用发送认证指示。

Description

经由参数传递帐号认证信息的方法、***和计算机可读介质
相关申请的交叉引用
本申请要求于2017年4月18日提交的名称为“PASSING AUTHENTICATIONINFORMATION VIA PARAMETERS”的美国临时专利申请第62/486,852号的优先权和权益,其全部内容通过引用结合于此。
技术领域
本申请涉及经由参数传递认证信息。
背景技术
为了访问应用,客户端设备的用户可以输入登录信息(例如,帐号标识符和口令)。客户端设备可以执行多个应用。这些多个应用又可以与多个用户使用的多个帐号相关联。
发明内容
至少一个方面涉及一种经由参数传递帐号认证信息的方法。具有一个或多个处理器的认证服务器可以向客户端设备提供从用于认证在客户端设备上执行的第一应用的帐号凭证导出的帐号参数以***链接中。该链接可以包括引用能够在客户端设备上执行的第二应用的地址。该帐号参数可以响应于链接上的交互而从第一应用传递到第二应用。该认证服务器可以在将帐号参数从第一应用传递到第二应用之后,从客户端设备的第二应用接收认证第二应用的请求。该请求可以包括帐号参数。该认证服务器可以使用提供给第一应用并经由链接传递给第二应用的帐号参数对于第二应用认证客户端设备。该认证服务器可以基于对于第二应用认证客户端设备,发送识别对于第二应用对客户端设备的认证成功或失败之一的认证指示。
在一些实施方式中,提供帐号参数还可以包括提供使用双向加密算法从帐号凭证导出的帐号参数。在一些实施方式中,对于第二应用认证客户端设备还可以包括:通过将双向加密算法应用于包括在认证请求中的帐号参数来恢复所述帐号凭证。
在一些实施方式中,提供帐号参数还可以包括提供使用单向加密算法从帐号凭证导出的帐号参数。在一些实施方式中,对于第二应用认证客户端设备还可以包括:确定使用单向加密算法从帐号凭证单独导出的第二帐号参数与包括在认证请求中的帐号参数匹配。
在一些实施方式中,对于第二应用认证客户端设备还可以包括:确定包括在认证请求中的帐号参数与存储在高速缓存中的帐号参数匹配。在一些实施方式中,提供帐号参数还可以包括:经由链接的链接参数和由客户端设备上运行的平台应用的函数调用中的至少一个提供响应于链接上的交互从第一应用传递到第二应用的帐号参数。
在一些实施方式中,接收认证请求还可以包括:经由与第二应用相关联的应用服务器从客户端设备的第二应用接收认证请求。在一些实施方式中,发送认证指示还可以包括经由与第二应用相关联的应用服务器向客户端设备的第二应用发送认证指示。在一些实施方式中,提供帐号参数还可以包括:提供包括在链接中的帐号参数。该链接可以包括引用所述第二应用的地址。链接上的交互可以使客户端设备安装第二应用并在安装第二应用之后将帐号参数传递给第二应用。
在一些实施方式中,认证服务器可以基于用于认证在客户端设备上执行的第一应用的帐号凭证来生成帐号参数。在一些实施方式中,提供帐号参数还可以包括响应于生成帐号参数,提供包括帐号参数和引用第二应用的地址的链接。在一些实施方式中,发送认证指示还可以包括:发送包括与认证凭证对应的第二应用的帐号设置的认证指示。接收帐号设置可以使客户端设备应用第二应用的帐号设置。
至少一个方面涉及一种用于经由参数传递帐号认证信息的***。该***可以包括在具有一个或多个处理器的认证服务器上执行的认证器。该认证器可以向客户端设备提供从用于认证在客户端设备上执行的第一应用的帐号凭证导出的帐号参数以***链接中。该链接可以包括引用能够在客户端设备上执行的第二应用的地址。该帐号参数可以响应于链接上的交互而从第一应用传递到第二应用。该认证器可以在将帐号参数从第一应用传递到第二应用之后,从客户端设备的第二应用接收认证第二应用的请求。该请求可以包括帐号参数。该认证器可以使用提供给第一应用并经由链接传递给第二应用的帐号参数对于第二应用认证客户端设备。该认证器可以基于对于第二应用对客户端设备的认证,发送识别对于第二应用对客户端设备的认证成功或失败之一的认证指示。
在一些实施方式中,认证器可以提供使用双向加密算法从帐号凭证导出的帐号参数。在一些实施方式中,认证器可以通过将双向加密算法应用于包括在认证请求中的帐号参数来恢复所述帐号凭证从而对于第二应用认证客户端设备。
在一些实施方式中,认证器可以提供使用单向加密算法从帐号凭证导出的帐号参数。在一些实施方式中,认证器可以通过确定使用单向加密算法从帐号凭证单独导出的第二帐号参数与包括在认证请求中的帐号参数匹配来对于第二应用认证客户端设备。
在一些实施方式中,认证器可以通过确定包括在认证请求中的帐号参数与存储在高速缓存中的帐号参数匹配来对于第二应用认证客户端设备。在一些实施方式中,认证器可以经由链接的链接参数和由客户端设备上运行的平台应用的函数调用中的至少一个提供响应于链接上的交互从第一应用传递到第二应用的帐号参数。
在一些实施方式中,认证器可以经由与第二应用相关联的应用服务器从客户端设备的第二应用接收认证请求。在一些实施方式中,认证器可以经由与第二应用相关联的应用服务器将认证指示发送到客户端设备的第二应用。在一些实施方式中,认证器可以提供包括在链接中的帐号参数。链接可以包括引用第二应用的地址。链接上的交互可以使客户端设备安装第二应用并在安装第二应用之后将帐号参数传递给第二应用。
在一些实施方式中,认证器可以基于用于认证在客户端设备上执行的第一应用的帐号凭证来生成帐号参数。在一些实施方式中,认证器可以响应于帐号参数的生成,提供包括帐号参数和引用第二应用的地址的链接。在一些实施方式中,认证器可以发送包括与认证凭证对应的第二应用的帐号设置的认证指示。帐号设置的接收可以使客户端设备应用第二应用的帐号设置。
至少一个方面涉及一种存储用于传递帐号认证信息的指令的非暂时性计算机可读介质,所述指令在执行时使得一个或多个处理器执行操作。操作可以包括向客户端设备提供从用于认证在客户端设备上执行的第一应用的帐号凭证导出的帐号参数以***链接中。该链接可以包括引用能够在客户端设备上执行的第二应用的地址。该帐号参数可以响应于链接上的交互而从第一应用传递到第二应用。操作可以包括在将帐号参数从第一应用传递到第二应用之后从客户端设备的第二应用接收认证第二应用的请求。该请求可以包括帐号参数。操作可以包括使用提供给第一应用并经由链接传递给第二应用的帐号参数来对于第二应用认证客户端设备。该操作可以包括基于对于第二应用对客户端设备的认证,发送识别对于第二应用对客户端设备的认证成功或失败之一的认证指示。
在一些实施方式中,操作还可以包括提供包括在链接中的帐号参数。该链接可以包括引用第二应用的地址。链接上的交互可以使客户端设备安装第二应用并在安装第二应用之后将帐号参数传递到第二应用。
在下面会详细讨论这些和其他方面和实施方式。前述信息和以下详细描述包括各种方面和实施方式的示意性示例,并提供用于理解所要求保护的方面和实施方式的性质和特性的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且被并入说明书并构成本说明书的一部分。
附图说明
附图不打算按比例绘制。各附图中相同的附图标记和名称指示相同的元素。为清楚起见,并非每个组件都会在每个图中标记。在图中:
图1是描绘根据示意性实施方式的用于经由参数传递帐号认证信息的计算机联网环境的框图;
图2A-2C均是描绘根据示意性实施方式的经由参数传递帐号认证信息的流程的框图;
图3A和3B是描绘根据示意性实施方式的经由参数传递帐号认证信息的方法的流程图;
图4是描绘根据示意性实施方式的经由参数传递帐号认证信息的方法的流程图;以及
图5是说明根据示意性实施方式的可用于实现本文描述和示出的***和方法的要素的计算机***的一般架构的框图。
具体实施方式
以下是与经由参数传递帐号认证信息的方法、装置和***有关的各种概念和所述方法、装置和***的实施方式的更详细描述。以上介绍并在下面更详细讨论的各种概念可以以多种方式中的任何一种来实现,因为所描述的概念不限于任何特定的实施方式。
可以向与单个帐号或多个帐号(“共享设备”)相关联的在客户端设备上运行的一个应用提供到另一应用的链接。例如,可以在视频共享网站上提供用于打开或安装音乐应用的链接。目前,当用户点击第一应用上的这样的链接时,客户端设备可以无缝地导向第二应用。这种有时无缝的从第一应用到第二应用的转换可能导致用户自己关于用户被登录到哪个帐号的混淆,并且可能因此错误地或无意地获得对另一帐号的访问。例如,使用第一应用然后使用第二应用的用户可能无意中在第二应用上公布活动。这些隐私和安全问题对于登录到单个客户端设备上的多个帐号可能会更令人担忧,尤其是当用户在操作第一应用之后的很久以后操作第二应用时。
为了解决这些和其他技术问题,本公开利用URL认证令牌来跨各种应用传递帐号信息。客户端设备可以通过将编码的帐号信息嵌入链接的URL 中或通过经由活动(activity)函数调用(例如,ANDROID Intent函数调用)传递编码的帐号信息来传递编码的用户帐号信息。在客户端设备上执行的应用可以潜在地至少三种技术共享帐号信息。
在第一实施方式下,可以使用双向加密函数对第一应用使用的外部帐号凭证进行混淆(obfuscate)(“双向混淆”)。混淆的标识符可以嵌入到链接到第二应用的URL中,或者可以经由活动函数调用传递。一旦从第一应用接收,第二应用就可以使用双向加密函数从经混淆的标识符恢复原始帐号凭证。在验证帐号标识符之后,第二应用可以自动使用户登录到第二应用中与该标识符对应的帐号。在第二应用不包括与该标识符对应的帐号的情况下,第二应用可以阻止用户登录到该应用,或者可以在用户能够登录到第二应用之前从用户请求进一步信息(例如替代用户帐号的详细信息)。
在第二实施方式中,可以使用指纹化(fingerprinting)函数来加密用于登录到第一应用的帐号凭证。与第一实施方式不同,该加密的标识符可以是不可恢复的,因为指纹函数是单向加密函数。第二应用可以具有其自己的用于同一帐号的加密的标识符的副本,或者可以以其他方式访问加密的标识符。同一帐号可以指注册到同一用户的帐号。在从第一应用接收加密的标识符的情况下,第二应用可以比较两个加密的标识符以查看这些标识符是否匹配。一旦发现匹配,第二应用可以使用户登录到具有匹配标识符的帐号。在第二应用不包括具有匹配标识符的帐号或者具有匹配标识符的帐号不在由第二应用检查的帐号中的情况下,第二应用可以阻止用户登录到该应用或者可以在用户能够登录到第二应用之前从用户请求进一步信息(例如替代用户帐号的详细信息)。
根据第三实施方式,在两个应用之间可以存在共享后端高速缓存,以存储每个应用中的用户帐号的令牌。令牌可以嵌入到出现在第一应用上的 URL中以链接到第二应用。在从第一应用请求第二应用时,第二应用可以访问共享后端以提取用户帐号的令牌。使用提取的令牌,用户可以自动登录到第二应用中的用户帐号。
图1是描绘用于经由参数传递帐号认证信息的环境的一种实施方式的框图。环境100可以包括经由网络105连接到至少一个客户端设备120的至少一个认证服务器110。在一些实施方式中,环境100可以包括经由网络105 连接到至少一个客户端120的至少一个应用服务器115A-115N。在一些实施方式中,至少一个认证服务器110可以连接到至少一个应用服务器115A- 115N。在一些实施方式中,环境100可以包括连接到至少一个认证服务器 110或至少一个应用服务器115A-115N的远程令牌高速缓存125。在一些实施方式中,环境100可以包括连接到网络105的内容提供商设备和内容发布者设备。
更详细地,认证服务器110可以包括至少一个处理器和存储器,即处理电路。存储器存储处理器可执行指令,当由处理器执行时,处理器可执行指令使处理器执行本文描述的操作中的一个或多个。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于能够向处理器提供程序指令的电子、光学、磁或任何其他的存储或传输设备。存储器还可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器 (RAM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM (EPROM)、闪存、光学介质或处理器可从其读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理***可以包括可以执行各种功能的一个或多个计算设备或服务器。在一些实施方式中,数据处理***可以包括被配置为托管拍卖(host auction)的内容放置***(content placement system)。在一些实施方式中,数据处理***不包括内容放置***,而是被配置为经由网络105与内容放置***通信。
网络105可以包括计算机网络,例如因特网、局域网,广域网、城域网或其他区域网络、内联网、卫星网络、例如语音或数据移动电话通信网络的其他计算机网络以及其组合。***100的认证服务器110可以经由网络 105,例如与至少一个应用服务器115A-115N和至少一个客户端设备120进行通信。网络105可以是在客户端设备120、认证服务器110和一个或多个内容源(例如网络服务器)等之间中继信息的任何形式的计算机网络。在一些实施方式中,网络105可以包括因特网和/或其他类型的数据网络,例如局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络或其他类型的数据网络。网络105还可以包括被配置为在网络105内接收和/或发送数据的任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络105还可以包括任意数量的硬连线和/或无线连接。客户端设备120可以与硬连线(例如,经由光纤缆、CAT5缆线等)到网络105中的其他计算设备的收发器无线地(例如,经由WiFi、蜂窝、无线电等)通信。客户端设备120还可以经由代理设备(例如,路由器、网络交换机或网关)与网络 105的计算设备无线通信。
客户端设备120可以包括被配置为经由网络105通信以显示例如由内容发布者设备提供的内容(例如,主要网页内容或其他信息资源)和由内容提供商设备提供的内容(例如,被配置用于在信息资源中显示的内容元素)的数据的计算设备。客户端设备120可以包括台式计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、移动设备、消费类计算设备、服务器、客户端、数字视频记录器、电视机顶盒、视频游戏控制台或被配置为经由网络105通信的任何其他计算设备。客户端设备120可以是通信设备,终端用户可以通过该通信设备提交请求以接收内容。请求可以是对搜索引擎的请求,并且请求可以包括搜索查询。在一些实施方式中,请求可以包括访问网页的请求。
客户端设备120可以包括处理器和存储器,即处理电路。存储器存储机器指令,当由处理器执行时,机器指令使处理器执行本文描述的操作中的一个或多个。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于能够向处理器提供程序指令的电子、光学、磁或任何其他存储或传输设备。存储器还可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器 (ROM)、随机存取存储器(RAM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)、闪存、光学介质或处理器可从其读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。
客户端设备120还可以包括一个或多个用户接口设备。通常,用户接口设备是指通过生成感觉信息(例如,显示器上的可视化、一个或多个声音等)向用户传达数据和/或将从用户接收的感觉信息转换成电子信号的任何电子设备(例如,键盘、鼠标、指示设备、触摸屏显示器、麦克风等)。一个或多个用户接口设备可以在客户端设备120的外壳内部(例如,内置显示器、麦克风等)或者在客户端设备120的外壳外部(例如,连接到客户端设备120的监视器、连接到客户端设备120的扬声器等)。在一些实施方式中,客户端设备120可以包括电子显示器,其使用经由网络105从一个或多个内容源和/或从内容发布者设备或内容提供商设备接收的网页数据在视觉上显示网页。
认证服务器110可包括至少一个服务器。认证服务器110可以作为在客户端设备120处执行的各种应用的中央认证机构进行操作。在一些实施方式中,认证服务器110可以包括位于至少一个数据中心或服务器集群中的多个服务器。在一些实施方式中,远程令牌高速缓存125可以是认证服务器110 的一部分。认证服务器110可以包括至少一个认证器130。认证器130可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、一体机(appliance)或其他逻辑设备,例如可编程逻辑阵列,其被配置为经由网络 105与数据库并与其他计算设备(例如,应用服务器115A-115N、客户端设备120和远程令牌高速缓存125)通信。认证器130可以包括或执行至少一个计算机程序或至少一个脚本。认证器130可以包括软件和硬件的组合,例如被配置为执行一个或多个脚本的一个或多个处理器。
认证服务器110的认证器130可以从客户端设备120或其他应用服务器 115A-115N接收认证请求。认证请求可以包括帐号凭据。帐号凭证可以包括帐号标识符、帐号访问码和其他加密参数等。认证器130可以识别帐号标识符和帐号访问码。认证器130可以将帐号访问码与先前存储的用于帐号标识符的帐号访问码进行比较。如果访问码匹配,则认证器130可以认证帐号凭证并将认证确认发送到客户端设备120或发送过认证请求的其他应用服务器 115A-115N。如果访问码不匹配,则认证器130可以向客户端设备120或发送过认证请求的其他应用服务器115A-115N发送认证失败的指示。在下文中将详细描述认证器130在环境100的背景中的功能。
应用服务器115A-115N可以包括至少一个服务器。应用服务器115A- 115N可以针对在客户端设备120处执行的各种应用与客户端设备120交换数据。在一些实施方式中,应用服务器115A-115N可以包括位于至少一个数据中心或集群中的多个服务器。在一些实施方式中,远程令牌高速缓存125 可以是认证服务器110的一部分。应用服务器115A-115N可以包括至少一个服务器侧认证接口135A-135N。服务器侧认证接口135A-135N可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、一体机或其他逻辑设备,例如可编程逻辑阵列,其被配置为经由网络105与数据库并与其他计算设备(例如,应用服务器115A-115N、客户端设备120和远程令牌高速缓存125)通信。认证接口135A-135N可以包括或执行至少一个计算机程序或至少一个脚本。认证接口135A-135N可以包括软件和硬件的组合,例如被配置为执行一个或多个脚本的一个或多个处理器。认证接口135A-135N 的功能在下文中详述。
客户端设备120可以包括处理器140、网络接口145、输入/输出 (I/O)接口150和存储器155。处理器140、网络接口145、I/O接口150和存储器155可以是本文结合图5描述的组件。存储器155可以包括平台应用 160,例如操作***或web浏览器,或能够执行或以其他方式调用由客户端设备120处理的其他计算机可执行指令的任何其他计算机程序。平台应用160可以包括一个或多个应用165A-165N。在一些实施方式中,每个应用 165A-165N可以是信息资源(例如,网页)。在一些实施方式中,每个应用 165A-165N可以是由平台应用160处理的单独的计算机可执行。每个应用 165A-165N可以包括链接170A-170N、客户端侧认证接口175A-175N和参数生成器180A-180N。在一些实施方式中,平台应用160可以包括参数传送器190。在一些实施方式中,平台应用160可以包括本地令牌高速缓存 195。至少一个应用165A可以包括帐号凭证185,而其他应用165B-165N可以没有帐号凭证185。帐号凭证185可以包括帐号标识符、帐号访问码和其他加密参数等。应用165A-165N中的至少一个可以借助认证服务器110的认证器130或应用服务器115A-115N的服务器侧认证接口135A-135N使帐号凭证185被认证或以其他方式被验证。其他应用165A-165N中的至少一个可能没有帐号凭证185,并且可能尚未借助认证服务器110的认证器130 或应用服务器115A-115N的服务器侧认证接口135A-135N被认证或以其他方式被验证。在一些实施方式中,应用165A-165N的认证接口175A-175N 可以向认证服务器110或向对应的应用服务器115A-115N发送帐号凭证 185。例如,客户端设备120的用户可以已经在应用165A的图形用户接口上输入了帐号标识符和帐号访问码(例如,口令或个人识别号码(PIN))。在与提交按钮交互时,应用165A可以发送帐号标识符和帐号访问码作为帐号凭证185的一部分,用于向认证服务器110进行认证。
在接收帐号凭证185的情况下,认证服务器110的认证器130可以解析帐号凭证185以识别帐号标识符和访问码等。认证器130可以将来自应用 165A-165N的访问码与存储在认证服务器110处的用于帐号标识符的访问码进行比较。如果两个访问码之间不存在匹配,则认证器130可以向从其接收到帐号凭证185的应用165A-165N发送认证失败的指示。如果两个访问码之间存在匹配,则认证器130可以针对从其接收到帐号凭证185的应用 165A-165N认证或以其他方式验证帐号凭证185。认证器130转而可以向对应的应用165A-165N发送成功认证的指示。在帐号凭证185已被成功认证的情况下,认证器130或相应的应用165A-165N可以以下面详述的方式从帐号凭证185导出帐号参数。
关于最初没有帐号凭证185的应用165A-165N,应用165A-165N中的每一个的认证接口175A-175N可以被特别地配置为使用如下所述的参数传送器190经由链接170A-175N接收帐号凭证185。在一些实施方式中,每个应用165A-165N的认证接口175A-175N可以使用应用编程接口来解析或恢复帐号凭证185。应用编程接口可以包括用于传送或中继关于应用165A- 165N的数据(例如,帐号凭证185或从帐号凭证185导出的帐号参数)的定义和协议。在一些实施方式中,每个应用165A-165N的认证接口175A- 175N可以使用应用编程接口来用另一应用165A-165N的帐号凭证185认证应用165A-165N。在一些实施方式中,每个应用165A-165N的认证接口175A-175N可以使用应用编程接口来与认证服务器110的认证器130接口或通信。关于应用165A-165N中的每一个的认证接口175A-175N的功能的更多细节在下面进行解释。
每个应用165A-165N可以与应用服务器115A-115N中的一个相关联。在一些实施方式中,每个应用165A-165N可以包括web应用,其可以包括信息资源(例如,网页)或特定域的一个或多个信息资源。在一些实施方式中,每个应用165A-165N可以另外地是由相应的应用服务器115A-115N提供的计算机程序、计算机可读指令或可执行的实例。在一些实施方式中,应用165A-165N中的一些可能尚未安装在客户端设备120上。在一些实施方式中,应用服务器115A-115N或应用分发服务器可以响应于来自该客户端设备120的请求提供应用165A-165N。在一些实施方式中,应用165A-165N 中的一些可能已经安装在客户端设备120上。每个应用165A-165N可以经由网络105与应用服务器115A-115N中的一个通信。要提供给每个应用 165A-165N的数据可以由相应的应用服务器115A-115N管理。可以通过应用服务器115A-115N将每个应用165A-165N提供给客户端设备120。可以通过集中式服务器(例如,应用分发服务器)将每个应用165A-165N提供给客户端设备120。
每个应用165A-165N可以包括至少一个链接170A-170N(例如,超链接)。在一些实施例中,每个应用165A-165N可以包括一个或多个信息资源 (例如,网页)。一个或多个信息资源中的至少一个可以包括链接170A- 170N。每个链接170A-170N可以是对同一应用165A-165N内的特定信息资源的引用机制。每个链接170A-170N也可以是对指定应用(例如,应用165A-165N)的引用机制。每个链接170A-170N可以包括协议(例如,超文本传输协议)和具有主机名和路径名的地址(例如,统一资源定位符 (URL)或统一资源标识符(URI))。每个链接170A-170N的地址可以引用另一应用165A-165N。在一些实施方式中,每个链接170A-170N还可以包括链接参数(例如,URL参数,比如查询串)。链接参数可以包括帐号参数。帐号参数可以被应用165A-165N使用以将认证凭证185传递到另一应用165A-165N。帐号参数可以从帐号凭证185生成,并且可以是各种类型。所生成和使用的帐号参数的类型可以由应用165A-165N预先设置,或者可以根据参数类型策略来确定。在一些实施方式中,可以由与应用165A-165N 相关联的应用服务器115A-115N来生成并提供帐号参数。在一些实施方式中,可以由认证服务器110来生成并提供帐号参数。在一些实施方式中,帐号参数可以由参数生成器180A-180N在客户端设备120处生成。
在一些实施方式中,帐号参数可以包括帐号凭证185的混淆 (obfuscation)。帐号凭证185的混淆可以由认证服务器110、应用服务器 115A-115N或者客户端设备120的参数生成器180生成。帐号凭证185的混淆可以包括字母数字值。可以由认证服务器110或应用服务器115A-115N提供帐号凭证185的混淆作为链接170A-170N的参数的一部分。在与链接170A-170N交互时,可以由客户端设备的参数生成器180生成帐号凭证185 的混淆。可以使用双向加密函数(例如密码散列函数)来生成混淆。双向加密函数可以应用于帐号标识符、帐号访问码和/或其他加密参数的组合。通过使用双向加密函数混淆帐号凭证185,可以稍后通过重新应用相同的双向加密函数从帐号参数恢复帐号凭证185。
在一些实施方式中,帐号参数可以包括帐号凭证185的指纹。帐号凭证 185的指纹可以由认证服务器110、应用服务器115A-115N或者客户端设备 120的参数生成器180生成。帐号凭证185的指纹可以包括字母数字值。帐号凭证185的指纹可以由认证服务器110或应用服务器115A-115N提供,作为链接170A-170N的参数的一部分。帐号凭证185的指纹可以在与链接 170A-170N交互时由客户端设备的参数生成器180生成。可以使用单向加密函数(例如指纹化算法)生成指纹。单向加密函数可以应用于帐号标识符、帐号访问码和/或其他加密参数的组合。一旦被生成,帐号凭证185的指纹就可以存储在存储器155、应用服务器115A-115N或认证服务器110上。通过使用单向加密函数对帐号凭证185进行指纹化,原始帐号凭证185可以对其他应用165B-165N以及其他应用服务器115B-115N或连接到网络105的任何其他设备保持隐藏。
在一些实施方式中,帐号参数可以包括与帐号凭证185对应的令牌。与帐号凭证185对应的令牌可以由认证服务器110、应用服务器115A-115N或客户端设备120的参数生成器180生成。与帐号凭证185对应的令牌可以包括字母数字值。令牌可以由认证服务器110或应用服务器115A-115N提供,作为链接170A-170N的参数的一部分。与帐号凭证185对应的令牌可以在与链接170A-170N交互时由客户端设备的参数生成器180生成。可以使用帐号标识符、帐号访问码和/或其他加密参数的组合来生成令牌。在一些实施方式中,之后可以由参数生成器180A-180N将令牌存储在本地令牌高速缓存195中。在一些实施方式中,令牌可以由认证服务器110或应用服务器 115A-115N存储在远程令牌高速缓存125中。通过从帐号凭证185生成令牌,可以在请求时从本地令牌高速缓存195或远程令牌高速缓存125中提取原始帐号凭证185。
在与链接170A-170N的交互事件(例如,点击、悬停、滚动、屏幕触摸等)时,参数传送器190可以将链接170A-170N的帐号参数从一个应用 165A-165N传递到链接170A-170N引用的应用165A-165N。在一些实施方式中,参数传送器190可以使用深度链接技术经由链接170A-170N直接传递帐号参数。参数传送器190可以解析链接170A-170N以识别由链接170A-170N的地址引用的应用165A-165N。然后,平台应用160可以执行与链接 170A-170N的地址对应的应用165A-165N。参数传送器190还可以解析链接 170A-170N以识别链接170A-170N的链接参数,并且可以将链接170A- 170N的链接参数(连同帐号参数)传递给链接170A-170N引用的应用 165A-165N。在一些实施方式中,参数传送器190可以使用例如活动函数调用(例如,ANDROID Intent函数调用)的函数调用将帐号参数从一个应用 165A-165N传递到链接170A-170N引用的另一应用165A-165N。一旦从链接170A-170N识别出帐号参数,参数传送器190就可以利用帐号参数调用函数调用,以将帐号参数中继或传递给链接170A-170N引用的应用165A- 165N。
在一些实施方式中,参数传送器190可以使用延迟深度链接技术经由链接170A-170N传递帐号参数。链接170A-170N可以对应于在客户端设备 120上下载并安装应用165A-165N的请求。在一些实施方式中,参数传送器 190可以将链接170A-170N识别为下载和安装应用165A-165N的请求。参数传送器190可以将链接170A-170N的帐号参数存储在存储器155上。参数传送器190可以连续地监视应用165A-165N的下载和安装的进度。一旦应用165A-165N完成下载,平台应用160就可以启动应用165A-165N的执行,并且参数传送器190可以将帐号参数传递给安装的应用165A-165N。
在一些实施方式中,响应于交互事件,参数生成器180A-180N可以使用上文详述的技术生成帐号参数。参数生成器180A-180N可以解析链接170A-170N以确定链接170A-170N是否包括帐号参数。如果链接170A- 170N不包括帐号参数,则参数生成器180A-180N可以使用上文详述的技术生成帐号参数。如果链接170A-170N确实包括帐号参数,则参数传送器190 可以识别帐号参数并将帐号参数传递给链接170A-170N引用的应用165A- 165N。
一旦传递了认证参数,则链接170A-170N引用的应用165A-165N的认证接口175A-175N就可以发起向认证服务器110的服务器侧认证接口135A- 135N的认证。服务器侧认证接口135A-135N转而可以代表客户端设备120 的应用165A-165N继续向认证服务器110的认证。在一些实施方式中,链接170A-170N引用的应用165A-165N可以发起直接向服务器110的认证器 130的认证。认证接口175A-175N可以解析帐号参数以确定从先前被登录的应用165A-165N接收的帐号参数的参数类型。在一些实施方式中,认证接口175A-175N可以通过识别帐号参数的长度和数据类型(例如,数字、字母数字等)等来确定参数类型,并且将所识别的长度和数据类型与对于该参数类型指定的长度和数据类型进行比较。如上所述,参数类型可以是帐号凭证185的混淆、指纹化的帐号凭证185以及与帐号凭证185对应的令牌等。
如果所识别的参数类型是帐号凭证185的混淆,则可以从从最初认证的应用165A-165N传递的帐号参数恢复原始帐号凭证185。现在参考图2A,其描绘了当帐号参数的参数类型是混淆的凭证225A时用于认证帐号凭证 185的环境200A。路径210-240可以是通过网络105的通信链路。在图1的背景中,第一应用服务器115A可以已经将应用165A提供给客户端设备120 (经由路径210)。第一应用115A或认证服务器110可以已经提供了引用第二应用165B的链接170A(经由路径210或路径215)。在一些实施方式中,客户端设备120的用户输入的帐号凭证185可以由客户端侧认证接口 175A传递到第一应用服务器115A(经由路径210)。然后,第一服务器侧认证接口135A可以向认证服务器110认证帐号凭证185(经由路径220)。认证服务器110的认证器130转而可以验证帐号凭证185的认证,并且可以向应用服务器115A发送确认(经由路径220)。应用服务器115A的第一认证接口135A转而可以将确认发送到第一应用165A(经由路径210)。在一些实施方式中,客户端设备120的第一应用165A可以将帐号凭证185直接发送到认证服务器110(经由路径215)。认证服务器110的认证器130转而可以验证帐号凭证185的认证并返回认证确认(经由路径215)。
当存在第一应用165A的链接170A上的事件205(例如,点击、悬停等)时,参数传送器190可以经由URL参数或经由函数调用将从帐号凭证 185生成的混淆的凭证225A传递到第二应用165B。在一些实施方式中,客户端侧认证接口175A-175N可以使用双向加密算法从混淆的凭证225A恢复原始帐号凭证185。双向加密算法可以与用于生成帐号参数的算法相同。一旦被恢复,客户端侧认证接口175B就可以将帐号凭证185发送到管理第二应用165B的第二应用服务器115B(经由路径235)。第二应用服务器115B 的服务器侧认证接口135B转而可以将恢复的帐号凭证185发送到认证服务器110以进行认证(经由路径240)。
在已经接收由第二应用服务器115B从混淆的凭证225A恢复的帐号凭证185之后,认证服务器110可以将认证凭证185与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。匹配可以是恢复的帐号凭证185与存储在认证服务器110处的帐号凭证之间的一对一对应关系(例如,逐字符对应)。如果存在匹配,则认证服务器110的认证器130可以将确认消息发送到第二应用服务器115B的服务器侧认证接口135B(经由路径240)。第二应用服务器115B的服务器侧认证接口135B转而可以将确认发送到第二应用165B(经由路径235)。在一些实施方式中,确认消息可以是响应分组的形式。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用服务器115B的服务器侧认证接口135B发送失败指示(经由路径240)。在一些实施方式中,失败指示可以是响应分组的形式。第二应用服务器115B的服务器侧认证接口135B转而可以向第二应用165B发送失败指示(经由路径235)。
在一些实施方式中,客户端侧认证接口175B可以直接将恢复的帐号凭证185发送到认证服务器110(经由路径240)。在已经接收由第二应用 165B从混淆的凭证225A恢复的帐号凭证185之后,认证服务器110可以将认证凭证185与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130可以向第二应用165B 的服务器侧认证接口135B发送确认消息(经由路径235)。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用165B的认证接口175B发送失败指示(经由路径235)。
在一些实施方式中,客户端侧认证接口175A-175N可以将混淆的凭证 225A直接发送到认证服务器110(经由路径230)。认证器130转而可以从从第二应用165B接收的混淆的凭证225A恢复原始帐号凭证185。在从混淆的凭证225A恢复帐号凭证185之后,认证服务器110可以将认证凭证185 与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130可以向第二应用165B的客户端侧认证接口175B发送确认消息(经由路径230)。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用165B的客户端侧认证接口 175B发送失败指示(经由路径230)。
在一些实施方式中,客户端侧认证接口175A-175N可以将混淆的凭证 225A发送到第二应用服务器115B(经由路径235)。第二应用服务器115B 的服务器侧认证135B转而可以将恢复的帐号凭证185发送到认证服务器 110以进行认证(经由路径240)。在从第二应用服务器115B接收混淆的凭证225A之后,认证服务器110可以从混淆的凭证225A恢复帐号凭证185。认证服务器110的认证器130可以将认证凭证185与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。如果存在匹配,则认证服务器110 的认证器130可以向第二应用服务器115B的服务器侧认证接口135B发送确认消息(经由路径240)。第二应用服务器115B的服务器侧认证接口 135B转而可以将确认发送到第二应用165B(经由路径235)。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用服务器 115B的服务器侧认证接口135B发送失败指示(经由路径240)。第二应用服务器115B的服务器侧认证接口135B转而可以向第二应用165B发送失败指示(经由路径235)。
如果所识别的参数类型是帐号凭证185的指纹,则可以将传递的帐号凭证185的指纹与先前的指纹比较以进行认证。现在参考图2B,示出了用于使用指纹化的凭证225B认证帐号凭证185的环境200B。路径210-240可以是通过网络105的通信链路。在图1的背景中,第一应用服务器115A可以已经将应用165A提供给客户端设备120(经由路径210)。第一应用115A 或认证服务器110可以已经提供了引用第二应用165B的链接170A(经由路径210或路径215)。在一些实施方式中,客户端设备120的用户输入的帐号凭证185可以由客户端侧认证接口175A传递到第一应用服务器115A(经由路径210)。然后,服务器侧认证接口135A可以向认证服务器110认证帐号凭证185(经由路径220)。认证服务器110的认证器130转而可以验证帐号凭证185的认证,并且可以向应用服务器115A发送确认(经由路径 220)。应用服务器115A的第一认证接口135A转而可以向第一应用165A发送确认(经由路径210)。在一些实施方式中,客户端设备120的第一应用 165A可以将帐号凭证185直接发送到认证服务器110(经由路径215)。认证服务器110的认证器130转而可以验证帐号凭证185的认证并返回认证的确认(经由路径215)。认证器130还可以将指纹化的凭证225B存储在认证服务器110上。在一些实施方式中,对于应用165A和165B,指纹化的凭证 225B可以存储在应用服务器115A和115B处,或者存储在客户端设备120 处。
响应于第一应用165A上的链接170A上的事件205,参数传送器190 可以经由URL参数或经由函数调用将从帐号凭证185生成的指纹化的凭证 225B传递到第二应用165B。指纹化的凭证225B可以使用单向加密算法生成,并且可以存储在认证服务器110处。客户端侧认证接口175B可以将指纹化的凭证225B发送到管理第二应用165B的第二应用服务器115B(经由路径235)。在从第二应用服务器115B接收指纹化的凭证225B之后,认证服务器110可以将指纹化的凭证225B与先前存储的指纹化的凭证进行比较以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130可以向第二应用服务器115B的服务器侧认证接口135B发送确认消息(经由路径240)。第二应用服务器115B的服务器侧认证接口135B转而可以将确认发送到第二应用165B(经由路径235)。在一些实施方式中,确认消息可以是响应分组的形式。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用服务器115B的服务器侧认证接口135B发送失败指示(经由路径240)。在一些实施方式中,失败指示可以是响应分组的形式。第二应用服务器115B的服务器侧认证接口135B转而可以向第二应用165B发送失败指示(经由路径235)。
在一些实施方式中,客户端侧认证接口175A-175N可以将指纹化的凭证225B直接发送到认证服务器110(经由路径230)。认证器130转而可以发送从第二应用165B接收的指纹化的凭证225B。在接收指纹化的凭证 225B之后,认证服务器110可以将指纹化的凭证225B与先前存储的指纹化的凭证进行比较以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130可以向第二应用165B的认证接口175B发送确认消息(经由路径235)。在一些实施方式中,确认消息可以是响应分组的形式。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用 165B的认证接口175B发送失败指示(经由路径230)。在一些实施方式中,失败指示可以是响应分组的形式。
如果所识别的参数类型是与帐号凭证185对应的令牌,则可以使用令牌来提取原始帐号凭证185以完成认证过程。现在参考图2C,示出了用于使用凭证令牌225C认证帐号凭证185的环境200C。路径210-265可以是通过网络105的通信链路。在图1的背景中,第一应用服务器115A可以已经将应用165A提供给了客户端设备120(经由路径210)。第一应用115A或认证服务器110可以已经提供了引用第二应用165B的链接170A(经由路径 210或路径215)。在一些实施方式中,客户端设备120的用户输入的帐号凭证185可以由客户端侧认证接口175A传递到第一应用服务器115A(经由路径210)。然后,第一服务器侧认证接口135A可以向认证服务器110认证帐号凭证185(经由路径220)。认证服务器110的认证器130转而可以验证帐号凭证185的认证,并且可以向应用服务器115A发送确认(经由路径 220)。在一些实施方式中,确认消息可以是响应分组的形式。应用服务器 115A的第一认证接口135A转而可以将确认发送到第一应用165A(经由路径210)。在一些实施方式中,客户端设备120的第一应用165A可以将帐号凭证185直接发送到认证服务器110(经由路径215)。认证服务器110的认证器130转而可以验证帐号凭证185的认证并返回认证确认(经由路径 215)。
在一些实施方式中,认证服务器110的认证器130可以为帐号凭证185 生成凭证令牌225C,并且可以在令牌高速缓存125存储帐号凭证185(经由路径265)。在一些实施方式中,服务器侧认证接口135A可以为帐号凭证 185生成凭证令牌225C,并且可以在令牌高速缓存125存储帐号凭证185 (经由路径245)。在一些实施方式中,第一应用165A的客户端侧认证接口 175A可以为帐号凭证185生成凭证令牌225C,并且可以在令牌高速缓存 125存储帐号凭证185(经由路径250)。凭证令牌225C可以用于引用或识别帐号凭证185,以由其他应用165B-165N(例如第二应用165B)进一步认证。
响应于第一应用165A上的链接170A上的事件205,参数传送器190 可以经由URL参数或经由函数调用将从帐号凭证185生成的凭证令牌225C 传递到第二应用165B。一旦被第二应用165B接收,客户端侧认证接口 175B就可以将凭证令牌225C发送到管理第二应用165B的第二应用服务器 115B(经由路径235)。第二应用服务器115B的服务器侧认证135B转而可以向认证服务器110发送凭证令牌225C以进行认证(经由路径240)。在从第二应用服务器115B接收凭证令牌225C之后,认证服务器110可以从令牌高速缓存125获取帐号凭证185(经由路径265)。然后,认证服务器110 的认证器130可以将认证凭证185与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130 可以向第二应用服务器115B的服务器侧认证接口135B发送确认消息(经由路径240)。在一些实施方式中,确认消息可以是响应分组的形式。第二应用服务器115B的服务器侧认证接口135B转而可以将确认发送到第二应用165B(经由路径235)。另一方面,如果不存在匹配,则认证服务器110 的认证器130可以向第二应用服务器115B的服务器侧认证接口135B发送失败指示(经由路径240)。第二应用服务器115B的服务器侧认证接口 135B转而可以向第二应用165B发送失败指示(经由路径235)。
在一些实施方式中,客户端侧认证接口175B转而可以将凭证令牌 225C发送到认证服务器110(经由路径240)。在从第二应用165B接收凭证令牌225C之后,认证服务器110可以从令牌高速缓存125提取帐号凭证 185(经由路径265)。然后,认证服务器110可以将认证凭证185与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130可以向第二应用165B的服务器侧认证接口 135B发送确认消息(经由路径235)。在一些实施方式中,确认消息可以是响应分组的形式。另一方面,如果不存在匹配,则认证服务器110的认证器 130可以向第二应用165B的认证接口175B发送失败指示(经由路径 235)。在一些实施方式中,失败指示可以是响应分组的形式。
在一些实施方式中,客户端侧认证接口175A-175N可以直接将凭证令牌225C发送到认证服务器110(经由路径230)。认证器130转而可以使用从第二应用165B接收的凭证令牌225C来获取存储在令牌高速缓存125上的帐号凭证185(经由路径265)。在恢复帐号凭证185之后,认证服务器 110可以将认证凭证185与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130可以向第二应用165B的客户端侧认证接口175B发送确认消息(经由路径230)。在一些实施方式中,确认消息可以是响应分组的形式。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用165B的客户端侧认证接口175B发送失败指示(经由路径230)。在一些实施方式中,失败指示可以是响应分组的形式。
在一些实施方式中,客户端侧认证接口175A-175N可以使用凭证令牌 225C从远程令牌高速缓存125提取帐号凭证225C(经由路径255)。在一些实施方式中,客户端侧认证接口175A-175N可以使用凭证令牌225C从本地令牌高速缓存195提取帐号凭证225C。使用从远程令牌高速缓存125或本地令牌高速缓存195恢复的帐号凭证185,认证接口175B可以将帐号凭证 185发送到认证服务器110(经由路径235)。然后,认证服务器110可以将认证凭证185与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130可以向第二应用165B 的服务器侧认证接口135B发送确认消息(经由路径235)。在一些实施方式中,确认消息可以是响应分组的形式。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用165B的认证接口175B发送失败指示(经由路径235)。在一些实施方式中,失败指示可以是响应分组的形式。
在一些实施方式中,使用从远程令牌高速缓存125或本地令牌高速缓存 195恢复的帐号凭证185,第二应用165B的认证接口175B可以将帐号凭证 185发送到第二应用服务器115B(经由路径235)。第二应用服务器115B的服务器侧认证接口135B转而可以将帐号凭证185发送到认证服务器110 (经由路径240)。然后,认证服务器110可以将认证凭证185与为帐号标识符存储的帐号凭证进行比较,以确定是否存在匹配。如果存在匹配,则认证服务器110的认证器130可以向第二应用服务器165B的服务器侧认证接口135B发送确认消息(经由路径230)。第二应用服务器115B的服务器侧认证接口135B转而可以将确认发送到第二应用165B(经由路径235)。在一些实施方式中,确认消息可以是响应分组的形式。另一方面,如果不存在匹配,则认证服务器110的认证器130可以向第二应用服务器115B的服务器侧认证接口135B发送失败指示(经由路径235)。在一些实施方式中,失败指示可以是响应分组的形式。第二应用服务器115B的服务器侧认证接口 135B转而可以将确认发送到第二应用165B(经由路径230)。
返回图1,由链接170A-170N引用的应用165A-165N可以从认证服务器110或经由应用服务器115A-115N中的任一个接收认证确认。认证确认可以包括特定于来自先前登录的应用165A-165N(例如,第一应用165A)的帐号凭证185的帐号设置。在接收确认之后,链接170A-170N引用的应用 165A-165N可以执行完全或部分登录。可以使用应用编程接口来执行应用 165A-165N对确认消息的解析和解释。在完全登录下,链接170A-170N引用的应用165A-165N可以自动应用帐号凭证185的帐号设置。这样,以这种方式将帐号参数从一个应用165A-165N传递到另一应用165A-165N可以允许无缝转换和认证,从而解决隐私和安全问题。在部分登录下,链接 170A-170N引用的应用165A-165N可以打开登录提示,并在其中自动填入帐号凭证。响应于对登录提示的肯定响应,链接170A-170N引用的应用 165A-165N可以继续执行应用165A-165N。另一方面,如果接收失败指示,则链接170A-170N引用的应用165A-165N可以继续执行。执行的继续可以没有特定于帐号凭证185的帐号设置,因为对链接170A-170N引用的应用 165A-165N进行认证失败。可以使用应用编程接口来执行应用165A-165N 对失败指示的解析和解释。在一些实施方式中,链接170A-170N引用的应用165A-165N可以显示指示认证失败的提示。
现在参考图3A和3B,描绘了经由参数传递帐号认证信息的方法300 的流程图。这里关于方法300描述的功能可以由图1所示的***100、图 2A-2C中所示的***200A-200C或者图5中所示的计算设备或其任何组合履行或以其他方式执行。在一些实施方式中,方法300的功能可以在客户端设备120、认证服务器110和应用服务器115A-115N中的任何一个之间分割。
更详细地,在步骤302,在客户端设备上执行的第一应用(应用A)可以将帐号凭证发送到第一服务器(服务器A)。在步骤304,第一服务器可以从客户端设备接收帐号凭证,并且可以认证帐号凭证。在步骤306,第一服务器可以确定是否将帐号参数***第一应用的链接。该确定可以根据策略确定,或者可以特定于该应用(例如,第一应用)。如果第一服务器确定要***帐号参数,则在步骤308,第一服务器可以确定哪种类型的参数。如果参数的类型是混淆的,则在步骤310,第一服务器可以通过对帐号凭证应用双向加密算法来生成混淆的参数。如果参数的类型是指纹,则在步骤312,第一服务器可以通过对帐号凭证应用单向加密算法来生成指纹化的参数。在步骤314,第一服务器然后可以存储指纹。如果参数的类型是高速缓存,则在步骤316,第一服务器可以生成用于识别帐号凭证的凭证令牌。在步骤318,第一服务器可以将凭证令牌存储在远程高速缓存上。在步骤320,第一服务器可以将帐号参数***第一应用的链接。在步骤322,第一服务器可以将第一应用的引用第二应用(应用B)的链接发送到客户端设备。
在步骤324,在客户端设备上执行的第一应用可以接收引用第二应用的链接。在步骤326,第一应用可以监视链接上的事件。如果链接上存在事件,则在步骤328,第一应用可以确定链接是否包括帐号参数。如果链接不包括链接,则在步骤330,第一应用可以确定使用哪种类型的参数。该确定可以根据策略,或者可以特定于应用(例如,第一应用)。如果参数的类型是的混淆,则在步骤332,第一应用可以通过对帐号凭证应用双向加密算法来生成混淆的参数。如果参数的类型是指纹,则在步骤334,第一应用可以通过对帐号凭证应用单向加密算法来生成指纹化的参数。在步骤336,第一应用然后可以存储指纹。如果参数的类型是高速缓存,则在步骤338,第一应用可以生成用于识别帐号凭证的凭证令牌。在步骤340,第一应用可以将凭证令牌存储在本地高速缓存上。在步骤342,第一应用可以将帐号参数传递给第二参数(使用URI协议或函数调用)。
在步骤344,第二应用可以从第一应用接收帐号参数。在步骤346,第二应用可以确定使用哪种类型的参数。如果参数类型是混淆的,则在步骤 348,第二应用可以通过应用双向加密算法从帐号参数恢复帐号凭证。如果参数类型是高速缓存,则在步骤352,第二应用可以将令牌与帐号凭证的请求一起发送。在步骤354,高速缓存(本地或远程)可以接收帐号凭证的请求。在步骤356,高速缓存可以识别帐号凭证。在步骤358,高速缓存可以将帐号凭证发送到第二应用。在步骤360,第二应用可以从高速缓存接收帐号凭证。如果参数类型是混淆的或高速缓存,则在步骤350,第二应用可以将帐号凭证发送到第二服务器(服务器B)以进行认证。在步骤362,第二服务器可以从第二应用接收帐号凭证。然后,在步骤370,第二服务器可以继续认证帐号凭证。
如果参数类型是指纹,则在步骤354,第二应用可以将指纹化的凭证发送到第二服务器。在步骤364,第二服务器可以从第二应用接收指纹化的凭证。在步骤366,第二服务器可以访问指纹存储装置以与从第二应用接收的指纹凭证进行比较。在步骤368,第二服务器可以确定指纹化的凭证是否在存储装置上。如果指纹化的凭证在存储装置上,则第二服务器可以在步骤 370继续进行认证。
如果成功,则在步骤372,第二服务器可以识别帐号设置。在步骤 374,第二服务器可以发送具有帐号设置的确认。在步骤378,第二应用可以从第二服务器接收认证确认。在步骤380,第二应用可以应用与用于向第一应用进行认证的帐号凭证相关联的帐号设置。另一方面,如果不成功,则在步骤376,第二服务器可以发送认证失败的指示。在步骤382,第二应用可以接收认证失败的指示。在步骤384,第二应用可以继续执行。
现在参考图4,描绘了经由参数传递帐号认证信息的方法400的流程图。这里关于方法400描述的功能可以由图1所示***100、图2A-2C中所示的***200A-200C或者如图5中所示的计算设备或其任何组合履行或以其他方式执行。在一些实施方式中,方法400的功能可以在客户端设备 120、认证服务器110和应用服务器115A-115N中的任何一个之间分割。简要概括地说,认证服务器可以向客户端设备提供从帐号凭证导出的帐号参数以***链接中,该帐号凭证用于认证在客户端设备上执行的第一应用(动作 405)。在将帐号参数从第一应用传递到第二应用之后,认证服务器可以从客户端设备的第二应用接收认证第二应用的请求(动作410)。认证服务器可以使用提供给第一应用并经由链接传递给第二应用的帐号参数来对于第二应用认证客户端设备(动作415)。响应于对于第二应用对客户端设备的认证,认证服务器可以向客户端设备的第二应用发送认证指示(动作420)。
认证服务器可以向客户端设备提供从帐号凭证导出的帐号参数以***链接中,该帐号凭证用于认证在客户端设备上执行的第一应用(动作405)。该链接可以包括引用可以在客户端设备上执行的第二应用的地址。响应于链接上的交互,可以将帐号参数从第一应用传递到第二应用。在一些实施方式中,认证服务器可以基于用于认证在客户端设备上执行的第一应用的帐号凭证来生成帐号参数。使用单向或双向加密算法从帐号凭据导出帐号参数。帐号参数可以***或包含在链接中。在一些实施方式中,响应于链路上的交互,经由链接的链接参数或由客户端设备上运行的平台应用的函数调用,可以将帐号参数从第一应用传递到第二应用。
在将帐号参数从第一应用传递到第二应用之后,认证服务器可以从客户端设备的第二应用接收认证第二应用的请求(动作410)。认证请求可以包括帐号参数。在一些实施方式中,认证服务器可以经由与第二应用相关联的应用服务器从客户端设备接收认证请求。在一些实施方式中,认证请求可以包括帐号凭证。帐号凭证可以包括帐号标识符、帐号访问码和其他加密参数等。
认证服务器可以使用提供给第一应用并且经由链接传递到第二应用的帐号参数来对于第二应用认证客户端设备(动作415)。在一些实施方式中,认证服务器可以通过将双向加密算法应用于包括在认证请求中的帐号参数来恢复帐号凭证。在一些实施方式中,认证服务器可以通过确定使用双向加密算法恢复的帐号凭证与原始帐号凭证匹配来对于第二应用认证客户端设备。在一些实施方式中,认证服务器可以通过确定包括在请求中的帐号参数与使用单向加密算法单独导出的帐号参数匹配来对于第二应用认证客户端设备。在一些实施方式中,认证服务器可以通过确定包括在认证请求中的帐号参数与存储在高速缓存中的帐号参数匹配来对于第二应用认证客户端设备。高速缓存可以是与认证服务器相关联的数据库。
响应于对于第二应用对客户端设备的认证,认证服务器可以向客户端设备的第二应用发送认证指示(动作420)。在一些实施方式中,认证指示可以包括对于第二应用对客户端设备的认证是成功还是失败的指示。在一些实施方式中,认证指示可以包括客户端设备的帐号设置以应用于第二应用。
图5示出了根据一些实施方式可用于实现本文所讨论的任何计算机*** (包括认证服务器110及其组件、应用服务器115A-115B及其组件以及客户端设备120及其组件)的示意性计算机***500的一般架构。计算机*** 500可用于经由网络105提供信息以供显示。图5的计算机***500包括通信地联接到存储器525的一个或多个处理器520、一个或多个通信接口505 以及一个或多个输出设备510(例如,一个或多个显示单元)和一个或多个输入设备515。处理器520可以包括在认证服务器110或认证服务器110的其他组件中。处理器520可以包括在应用服务器115A-115B或应用服务器115A-115B的其他组件中。处理器520可以包括在客户端设备120或客户端设备120的其他组件中。
在图5的计算机***500中,存储器525可以包括任何计算机可读存储介质,并且可以存储计算机指令(例如处理器可执行指令,用于实现本文针对各个***描述的各种功能),以及任何与计算机指令相关、由计算机指令产生或经由(一个或多个)通信接口或(一个或多个)输入设备(如果存在)接收的数据。再次参考图1的***100,认证服务器110可以包括存储器525,以存储与一个或多个内容单元的库存的可用性、一个或多个内容单元的预留等有关的信息。存储器525可以包括数据库150。图5中所示的 (一个或多个)处理器520可以用于执行存储在存储器525中的指令,并且在这样做时,还可以从存储器读取或写入存储器根据指令的执行而被处理和 /或被生成的各种信息。
图5中所示的计算机***500的处理器520还可以通信地联接到(一个或多个)通信接口505或被用于控制(一个或多个)通信接口505以根据指令的执行来发送或接收各种信息。例如,(一个或多个)通信接口505可以联接到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机***500向其他设备(例如,其他计算机***)发送信息或从其接收信息。虽然未在图1或图5的***中明确示出,但是一个或多个通信接口促进*** 500的组件之间的信息流。在一些实施方式中,可以配置(一个或多个)通信接口(例如,经由各种硬件组件或者软件组件)以提供网站作为计算机***500的至少一些方面的访问门户。通信接口505的示例包括用户接口(例如,网页),用户可以通过该用户接口与认证服务器110通信。
例如,可以提供图5中所示的计算机***500的输出设备510,以允许结合指令的执行来查看或以其他方式感知各种信息。例如,可以提供(一个或多个)输入设备515以允许用户在执行指令期间进行手动调整、进行选择、输入数据或以各种方式中的任何一种与处理器进行交互。本文进一步提供了与可用于本文讨论的各种***的通用计算机***架构有关的附加信息。
本说明书中描述的主题和操作的实施方式可以在数字电子电路中、或者在有形介质上实现的计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)或者它们中的一个或多个的组合中实现。本说明书中描述的主题的实施方式可以实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,计算机程序指令编码在计算机存储介质上,用于由数据处理装置执行或控制数据处理装置的操作。程序指令可以编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成为编码信息以便传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以包括编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质还可以是或包括在一个或多个单独的物理组件或介质(例如,多个CD、盘或其他存储设备)中。
本文公开的特征可以在智能电视模块(或连接的电视模块、混合电视模块等)上实现,其可以包括处理模块,该处理模块被配置为将互联网连接性与较传统的电视节目源(例如,经由有线、卫星、无线或其他信号而接收) 集成。智能电视模块可以物理地结合到电视机中,或者可以包括单独的设备,例如机顶盒、蓝光或其他数字媒体播放器、游戏控制台、酒店电视***或其他伴随设备。智能电视模块可以被配置为允许观看者在网络上、在本地有线电视频道上、在***频道上搜索和查找视频、电影、照片和其他内容,或者搜索和查找存储在本地硬盘驱动器上的上述内容。机顶盒(STB) 或机顶单元(STU)可以包括信息应用设备,该信息应用设备可以包含调谐器,并连接到电视机和外部信号源,将信号转换成内容然后将内容显示在电视屏幕或其他显示设备上。智能电视模块可以被配置为提供主屏幕或顶级屏幕,其包括用于多个不同应用(例如网络浏览器和多个流媒体服务)、连接的有线或卫星媒体源、其他网络“频道”等的图标。智能电视模块还可以被配置为向用户提供电子节目指南。智能电视模块的伴随应用可以在移动计算设备上操作,以向用户提供关于可用节目的附加信息,允许用户控制智能电视模块等。在一些实施方式中,可以在膝上型计算机或其他个人计算机、智能电话、其他移动电话、手持计算机、平板PC或其他计算设备上实现所述特征。在一些实施方式中,本文公开的特征可以在可穿戴设备或组件(例如,智能手表)上实现,该可穿戴设备或组件可以包括被配置为集成互联网连接性(例如,与另一计算设备或网络105)的处理模块。
本说明书中描述的操作可以实现为由数据处理装置对存储在一个或多个计算机可读存储设备上的数据或从其他源接收的数据执行的操作。
术语“数据处理装置”、“数据处理***”、“用户设备”或“计算设备”包括用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机、片上***或多个芯片或前述的组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***、跨平台运行时环境、虚拟机或它们中一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,例如web服务、分布式计算和网格计算基础设施。认证器130和认证接口135A-135N可以包括或共享一个或多个数据处理装置、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境的其他单元。计算机程序可以但不必与文件***中的文件对应。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以部署计算机程序以在一个计算机上或在位于一个站点或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流可以由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作。所述过程和逻辑流也可以由专用逻辑电路 (例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以实现为专用逻辑电路。
举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备或操作性地联接以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到用于存储数据的一个或多个大容量存储设备,或者接收和传输两者,大容量存储设备例如磁盘、磁光盘或光盘。但是,计算机不必具有这样的设备。此外,例如,计算机可以嵌入在另一设备(例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位*** (GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器))中。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如 EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)、等离子体或 LCD(液晶显示)监视器)以及键盘和指示设备(用户可通过该设备向计算机提供输入,指示设备例如鼠标或轨迹球)的计算机上实现。其他种类的设备也可用于提供与用户的交互。例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈,并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互,例如,通过响应于从web浏览器接收的请求将网页发送到用户的客户端设备上的web浏览器。
本说明书中描述的主题的实施方式可以在包括后端组件或包括中间件组件或包括前端组件或者一个或多个这样的后端、中间件或前端组件的任意组合的计算***中实现,该后端组件例如作为数据服务器,中间件组件例如应用服务器,前端组件例如具有图形用户接口或web浏览器的客户端计算机,用户可以通过该图形用户接口或web浏览器与本说明书中描述的主题的实施方式进行交互。***的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网 (“WAN”)、互联网(例如,因特网)和对等网络(例如,随建即连(ad hoc)对等网络)。
例如***500或***100的计算***可以包括客户端和服务器。例如,认证服务器110可以包括一个或多个数据中心或服务器集群中的一个或多个服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如, HTML页面)发送到客户端设备(例如,用于向与客户端设备交互的用户显示数据和从其接收用户输入的目的)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
虽然本说明书包含许多具体实现细节,但这些不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于本文描述的***和方法的特定实施方式的特征的描述。在单独的实施方式的背景中在本说明书中描述的某些特征也可以在单个实施方式中组合地实现。相反,在单个实施方式的背景中描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中实现。此外,尽管在上面可能将特征描述为以某些组合起作用并且甚至最初如此请求保护,但是在某些情况下可以从组合中剔除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按相继顺序执行这样的操作,或者要执行所有示出的操作来取得期望的结果。在一些情况下,权利要求中记载的动作可以以不同的顺序执行并且仍然取得期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或相继顺序来取得期望的结果。
在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施方式中的各种***组件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序组件和***通常可以在单个软件产品中集成在一起或者被封装成多个软件产品。认证器130和认证接口135A-135N 可以是认证服务器110的一部分、单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器或搜索引擎的一部分。
现在已经描述了一些示意性实施方式和实现,显而易见的是,前述内容是示意性的而非限制性的,已经通过示例的方式呈现。特别地,尽管本文呈现的许多示例涉及方法动作或***元件的特定组合,但是这些动作和这些元件可以以其他方式组合以实现相同的目标。仅与一个实施方式相关地讨论的动作、元件和特征不打算从在其他实现或实施方式中的类似角色中排除。
本文使用的措辞和术语是出于描述的目的,并且不应该被认为是限制性的。本文对“包含”、“包括”、“具有”、“含有”、“涉及”、“特征是”、“特征在于”及其变形的使用意味着涵盖其后列出的项目、其等同物和附加项目,以及排他地包含其后列出的项目的替代实施方式。在一个实施方式中,本文描述的***和方法由所描述的要素、动作或组件中一个、多于一个的每个组合或所有构成。
以单数形式提及的对本文的***和方法的实施方式或要素或动作的任何提及也可以涵盖包括多个这些要素的实施方式,并且以复数对本文的任何实施方式或要素或动作的任何提及也可以涵盖仅包括单个要素的实施方式。单数或复数形式的提及并不旨在将当前公开的***或方法、它们的组件、动作或要素限制为单个或多个配置。对基于任何信息、动作或要素的任何动作或要素的提及可以包括其中动作或要素至少部分地基于任何信息、动作或要素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式组合,并且对“实施方式”、“一些实施方式”、“替代实施方式”、“各种实施方式”、“一个实施方式”等的提及不一定是互斥的,并且旨在指示结合实施方式描述的特定特征、结构或特性可以包括在至少一个实施方式中。本文使用的这些术语不一定都指的是相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式包含地或排他地与任何其他实施方式组合。
对“或”的提及可以被解释为包含性的,使得使用“或”描述的任何术语可以指示所描述的术语中的单个、多于一个和所有中的任一种。
在附图、具体实施方式或任何权利要求中的技术特征后面附有附图标记的情况下,包括附图标记仅用于增加附图、具体实施方式和权利要求的可懂性。因此,参考标记和没有参考标记都不会对任何权利要求要素的范围产生任何限制作用。
在不脱离其特性的情况下,本文描述的***和方法可以以其他特定形式实施。尽管本文提供的示例涉及经由参数传递帐号认证信息并部署其对策,但是本文描述的***和方法可以包括应用于其他环境。前述实施方式是示意性的而非限制所描述的***和方法。因此,本文描述的***和方法的范围由所附权利要求而不是前面的描述来指示,并且落入权利要求的等同物的含义和范围内的改变也包含在其中。

Claims (15)

1.一种经由参数传递帐号认证信息的方法,包括:
由具有一个或多个处理器的认证服务器向客户端设备提供将被***链接中的帐号参数,所述帐号参数从用于认证在所述客户端设备上执行的第一应用的帐号凭证导出,所述链接包括引用能够在所述客户端设备上执行的第二应用的地址,响应于对所述链接的交互经由所述链接将所述帐号参数从所述第一应用传递到所述第二应用,其中所述帐号参数是使用双向加密算法从所述帐号凭证导出的;
在将所述帐号参数从所述第一应用传递到所述第二应用之后,由所述认证服务器从所述客户端设备的所述第二应用接收认证所述第二应用的请求,所述请求包括由所述第二应用使用双向加密算法从所述帐号参数恢复的所述帐号凭证;
由所述认证服务器使用所述帐号凭证对于所述第二应用认证所述客户端设备;和
由所述认证服务器,基于对于所述第二应用认证所述客户端设备,发送识别对于所述第二应用对所述客户端设备的认证成功或失败之一的认证指示。
2.根据权利要求1所述的方法,其中,在所述认证指示识别认证成功的情况下,所述方法还包括使用所述帐号参数执行对所述第二应用上的帐号的完全或部分登录。
3.根据权利要求2所述的方法,其中,在认证指示识别认证失败的情况下,在不使用所述帐号参数的情况下执行所述第二应用以执行对所述第二应用的帐号的完全或部分登录。
4.根据权利要求1至3中任一项所述的方法,其中,提供所述帐号参数还包括:经由所述链接的链接参数和由所述客户端设备上运行的平台应用的函数调用中的至少一个,提供响应于所述链接上的交互从所述第一应用传递到所述第二应用的所述帐号参数。
5.根据权利要求1至3中任一项所述的方法,其中,接收认证请求还包括:经由与所述第二应用相关联的应用服务器从所述客户端设备的所述第二应用接收所述认证请求;并且
其中,发送认证指示还包括:经由与所述第二应用相关联的应用服务器向所述客户端设备的第二应用发送认证指示。
6.根据权利要求1至3中任一项所述的方法,其中,提供所述帐号参数还包括:提供包括在所述链接中的帐号参数,所述链接包括引用所述第二应用的地址,所述链接上的交互使所述客户端设备安装所述第二应用并在安装所述第二应用之后将所述帐号参数传递给所述第二应用。
7.根据权利要求1至3中任一项所述的方法,还包括:由所述认证服务器基于用于认证在所述客户端设备上执行的所述第一应用的帐号凭证来生成所述帐号参数;并且
其中,提供所述帐号参数还包括响应于生成所述帐号参数,提供包括所述帐号参数和引用所述第二应用的地址的链接。
8.根据权利要求1至3中任一项所述的方法,其中,发送认证指示还包括:发送包括与认证凭证对应的所述第二应用的帐号设置的认证指示,接收所述帐号设置使所述客户端设备应用所述第二应用的所述帐号设置。
9.一种用于经由参数传递帐号认证信息的***,包括:
在具有一个或多个处理器的认证服务器上执行的认证器,被配置为:
向客户端设备提供将被***链接中的帐号参数,所述帐号参数从用于认证在所述客户端设备上执行的第一应用的帐号凭证导出,所述链接包括引用能够在所述客户端设备上执行的第二应用的地址,响应于对所述链接的交互经由所述链接将所述帐号参数从所述第一应用传递到所述第二应用,其中所述帐号参数是使用双向加密算法从所述帐号凭证导出的;
在将所述帐号参数从所述第一应用传递到所述第二应用之后,从所述客户端设备的所述第二应用接收认证所述第二应用的请求,所述请求包括由所述第二应用使用双向加密算法从所述帐号参数恢复的所述帐号凭证;
使用所述帐号凭证对于所述第二应用认证所述客户端设备;和
基于对于所述第二应用对所述客户端设备的认证,发送识别对于所述第二应用对所述客户端设备的认证成功或失败之一的认证指示。
10.根据权利要求9所述的***,其中,所述认证器还被配置为:经由所述链接的链接参数和由所述客户端设备上运行的平台应用的函数调用中的至少一个提供响应于所述链接上的交互从所述第一应用传递到所述第二应用的所述帐号参数。
11.根据权利要求9至10中任一项所述的***,其中,所述认证器还被配置为:
经由与所述第二应用相关联的应用服务器从所述客户端设备的所述第二应用接收所述认证请求;和
经由与所述第二应用相关联的应用服务器向所述客户端设备的第二应用发送认证指示。
12.根据权利要求9至10中任一项所述的***,其中,所述认证器还被配置为:提供包括在所述链接中的帐号参数,所述链接包括引用所述第二应用的地址,所述链接上的交互使所述客户端设备安装所述第二应用并在安装所述第二应用之后将所述帐号参数传递到所述第二应用。
13.根据权利要求9至10中任一项所述的***,其中,所述认证器还被配置为:
基于用于认证在所述客户端设备上执行的第一应用的帐号凭证来生成帐号参数;和
响应于所述帐号参数的生成,提供包括所述帐号参数和引用所述第二应用的地址的链接。
14.根据权利要求9至10中任一项所述的***,其中,所述认证器还被配置为:发送包括与认证凭证对应的所述第二应用的帐号设置的认证指示,接收所述帐号设置使所述客户端设备应用所述第二应用的所述帐号设置。
15.一种存储用于传递帐号认证信息的指令的非暂时性计算机可读介质,所述指令在执行时使一个或多个处理器执行根据权利要求1至8中任一项所述的方法。
CN201780074297.8A 2017-04-18 2017-12-15 经由参数传递帐号认证信息的方法、***和计算机可读介质 Active CN110036615B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762486852P 2017-04-18 2017-04-18
US62/486,852 2017-04-18
PCT/US2017/066610 WO2018194724A1 (en) 2017-04-18 2017-12-15 Passing authentication information via parameters

Publications (2)

Publication Number Publication Date
CN110036615A CN110036615A (zh) 2019-07-19
CN110036615B true CN110036615B (zh) 2021-09-24

Family

ID=60943145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780074297.8A Active CN110036615B (zh) 2017-04-18 2017-12-15 经由参数传递帐号认证信息的方法、***和计算机可读介质

Country Status (6)

Country Link
US (2) US11228579B2 (zh)
EP (1) EP3533205B1 (zh)
JP (1) JP6894518B2 (zh)
KR (1) KR102278660B1 (zh)
CN (1) CN110036615B (zh)
WO (1) WO2018194724A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6894518B2 (ja) 2017-04-18 2021-06-30 グーグル エルエルシーGoogle LLC パラメータを介して認証情報を渡すこと
CN110601824B (zh) * 2019-08-26 2023-06-13 北京思源理想控股集团有限公司 信息的传输方法及装置
CN115225293B (zh) * 2021-04-16 2024-03-08 ***通信集团辽宁有限公司 鉴权方法、***、装置、设备及计算机存储介质
KR102464011B1 (ko) * 2022-03-11 2022-11-04 농협은행(주) 자동 로그인 지원 서버 및 그 방법
US12021860B2 (en) * 2022-05-23 2024-06-25 Bank Of America Corporation Systems and methods for multi-stage, identity-based, digital authentication

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478396A (zh) * 2008-12-04 2009-07-08 黄希 一种基于私有密钥的低相关性的单向跨域身份验证方法及其应用
CN101651671A (zh) * 2008-08-14 2010-02-17 鸿富锦精密工业(深圳)有限公司 跨***用户身份验证***及方法
CN102006306A (zh) * 2010-12-08 2011-04-06 广东高新兴通信股份有限公司 一种web服务的安全认证方法
CN102315945A (zh) * 2011-10-20 2012-01-11 江苏三源教育实业有限公司 基于私有协议的统一身份认证方法
CN102801713A (zh) * 2012-07-23 2012-11-28 中国联合网络通信集团有限公司 网站登录方法、***和访问管理平台
CN103634329A (zh) * 2013-12-20 2014-03-12 百度在线网络技术(北京)有限公司 跨站点的登录方法、***及装置
CN103905497A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 实现第三方应用业务网站登录的方法、装置及应用平台
CN104301316A (zh) * 2014-10-13 2015-01-21 中国电子科技集团公司第二十八研究所 一种单点登录***及其实现方法
EP3094064A1 (en) * 2015-05-14 2016-11-16 Fmr Llc Transferring an authenticated session between security contexts

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653040B1 (ko) 2005-09-27 2006-12-01 에스케이 텔레콤주식회사 생체정보를 이용하여 솔루션을 통합 인증하기 위한 시스템및 방법
US8095972B1 (en) * 2008-10-06 2012-01-10 Southern Company Services, Inc. Secure authentication for web-based applications
JP2013149238A (ja) 2011-12-22 2013-08-01 Canon Marketing Japan Inc 情報処理装置、情報処理方法、プログラム
US8769651B2 (en) 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
US9027097B2 (en) * 2013-02-06 2015-05-05 Dropbox, Inc. Client application assisted automatic user log in
KR102139162B1 (ko) 2013-03-08 2020-08-11 에스케이플래닛 주식회사 어플리케이션 간의 신뢰관계 획득 방법, 이를 위한 시스템 및 장치
US10990965B2 (en) * 2014-12-23 2021-04-27 Visa International Service Association Single sign-on using a secure authentication system
JP6894518B2 (ja) 2017-04-18 2021-06-30 グーグル エルエルシーGoogle LLC パラメータを介して認証情報を渡すこと

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651671A (zh) * 2008-08-14 2010-02-17 鸿富锦精密工业(深圳)有限公司 跨***用户身份验证***及方法
CN101478396A (zh) * 2008-12-04 2009-07-08 黄希 一种基于私有密钥的低相关性的单向跨域身份验证方法及其应用
CN102006306A (zh) * 2010-12-08 2011-04-06 广东高新兴通信股份有限公司 一种web服务的安全认证方法
CN102315945A (zh) * 2011-10-20 2012-01-11 江苏三源教育实业有限公司 基于私有协议的统一身份认证方法
CN102801713A (zh) * 2012-07-23 2012-11-28 中国联合网络通信集团有限公司 网站登录方法、***和访问管理平台
CN103905497A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 实现第三方应用业务网站登录的方法、装置及应用平台
CN103634329A (zh) * 2013-12-20 2014-03-12 百度在线网络技术(北京)有限公司 跨站点的登录方法、***及装置
CN104301316A (zh) * 2014-10-13 2015-01-21 中国电子科技集团公司第二十八研究所 一种单点登录***及其实现方法
EP3094064A1 (en) * 2015-05-14 2016-11-16 Fmr Llc Transferring an authenticated session between security contexts

Also Published As

Publication number Publication date
KR20190101464A (ko) 2019-08-30
CN110036615A (zh) 2019-07-19
US20220141208A1 (en) 2022-05-05
JP2020515941A (ja) 2020-05-28
US12041045B2 (en) 2024-07-16
WO2018194724A1 (en) 2018-10-25
US20200244644A1 (en) 2020-07-30
EP3533205B1 (en) 2020-09-16
KR102278660B1 (ko) 2021-07-16
EP3533205A1 (en) 2019-09-04
US11228579B2 (en) 2022-01-18
JP6894518B2 (ja) 2021-06-30

Similar Documents

Publication Publication Date Title
CN110036615B (zh) 经由参数传递帐号认证信息的方法、***和计算机可读介质
CN100581103C (zh) 安全地处理被用于基于web的资源访问的客户证书
US20200127995A1 (en) Automatic login method and device between multiple websites
US10447678B2 (en) Automated secret renegotiation
CN103020687B (zh) 二维码分享方法和***
US8621589B2 (en) Cross domain single sign on
US10225260B2 (en) Enhanced authentication security
US10331865B2 (en) Increased security using dynamic watermarking
US9374360B2 (en) System and method for single-sign-on in virtual desktop infrastructure environment
CN110574350B (zh) 执行优先生成第二因素认证的方法和***
CN113239308B (zh) 一种页面访问方法、装置、设备及存储介质
US10341359B2 (en) Multi-user secret decay
JP6914436B2 (ja) 認証のためのシステムおよび方法
CN112560003A (zh) 用户权限管理方法和装置
CN106888200B (zh) 标识关联方法、信息发送方法及装置
EP3171543B1 (en) Local information acquisition method, apparatus and system
KR20100019165A (ko) 인터넷뱅킹 서비스 제공 시스템 및 방법
CN113965357B (zh) 跨域网站登录状态同步方法、电子设备及存储介质
CN110945503A (zh) 用户认证服务提供方法、网页服务器及用户终端

Legal Events

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