CN111345006B - 双重绑定 - Google Patents

双重绑定 Download PDF

Info

Publication number
CN111345006B
CN111345006B CN201880073510.8A CN201880073510A CN111345006B CN 111345006 B CN111345006 B CN 111345006B CN 201880073510 A CN201880073510 A CN 201880073510A CN 111345006 B CN111345006 B CN 111345006B
Authority
CN
China
Prior art keywords
access
network entity
computer network
user
entity
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
CN201880073510.8A
Other languages
English (en)
Other versions
CN111345006A (zh
Inventor
V·杜波德洛夫
F·程
J·克米纳尔
K·坎德卡尔
A·特拉亨伯格
R·邦萨尔
V·汉德尔瓦尔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN111345006A publication Critical patent/CN111345006A/zh
Application granted granted Critical
Publication of CN111345006B publication Critical patent/CN111345006B/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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

在一个示例中,在用户界面中接收动作,所述动作使得对于由不同于第一网络实体的第二网络实体所存储的对应于用户的数据的访问成为必要。接着,显示组合赞成屏幕,该组合赞成屏幕包括按钮,所述按钮当在该用户界面中被激活时授权对应于该用户的数据在第一网络实体和第二网络实体之间双向交换。响应于接收到该按钮已经被激活的指示,第一访问许可在该第一网络实体处被生成并且被发送至该第二网络实体。从该第二网络实体接收对授权码的交换。对应于该第一访问许可的第一访问令牌被生成并且被发送至该第二网络实体。接收对应于第二访问许可的第二访问令牌。

Description

双重绑定
技术领域
本公开一般地涉及在计算机网络中遇到的技术问题。更加具体地,本公开涉及跨多个计算机网络绑定用户账户。
背景技术
许多计算机用户跨许多不同的计算机服务实体保存多个用户账户,诸如电子邮件账户、财务账户、云存储账户、电子商务账户等。诸如用户名和密码之类的用户凭证跨很多账户的保存和使用可能是令人却步的。单点登录(Single Sign-On)服务允许用户保存可以被用来跨多个实体访问多个不同账户的单个用户名/密码组合,但是这样的服务不允许实体在它们自身之间传送机密的用户信息。例如,社交网络服务可以与企业电子邮件提供方进行合作。单点登录允许用户使用单个用户名/密码(或其他凭证)的组合来访问社交网络服务和企业电子邮件提供方,但是这并不允许社交网络从企业电子邮件提供方获得有关用户的细节,或者反之亦然。除了在允许这样的访问之前需要解决的隐私问题之外,在这样做时还涉及到技术挑战,特别是这样的信息交换要以无缝方式双向发起的情况下(即,其中每个提供方都能够从另一方访问数据)。
通常而言,对这样的个人数据的共享要求经由明确用户同意的用户赞成以及合规控制。然而,当前仅存在每次仅在一个方向执行该赞成的机制。例如,在登录到社交网络服务中之后,用户可以向企业电子邮件提供方授予从社交网络服务访问社交网络数据的许可,但是用户接着将必须单独登录地到企业电子邮件提供方并且单独向社交网络服务授予从企业电子邮件提供方访问用户信息(例如,联系人信息)的许可。
附图说明
在附图的示图中通过示例而非限制图示了该技术的一些实施例。
图1是图示了根据示例实施例的双重绑定系统的框图。
图2是图示了根据示例实施例的当用户在第一实体上开始授权流程时建立双重绑定的序列的梯形图。
图3是图示了根据示例实施例的当用户在第二实体上开始授权流程时建立双重绑定的序列的梯形图。
图4是图示了根据示例实施例的撤回双重绑定的序列的梯形图。
图5是图示了根据示例实施例的数据模型状态在执行双重绑定时如何变化示图。
图6是图示了根据示例实施例的当用户在第一实体上发起授权流程时第一实体的组件之间的序列的梯形图。
图7是图示了根据示例实施例的当用户在第二实体上发起授权流程时第一实体的组件之间的序列的梯形图。
图8是图示了根据示例实施例的当用户在第一实体处发起绑定撤回时第一实体的组件之间的序列的梯形图。
图9是图示了根据示例实施例的当用户在第二实体处发起绑定撤回时第一实体的组件之间的序列的梯形图。
图10是图示了根据示例实施例的用于双重绑定的方法的流程图。
图11是图示在其中显示组合赞成屏幕的用户界面屏幕的截屏。
图12是图示了根据示例实施例的可以按照在上文所描述的任何一个或多个设备上安装的软件架构的框图。
图13图示了根据示例实施例的可以在其中执行指令集以便使得机器执行本文所讨论的任何一种或多种方法的计算机系统的形式的机器的示意性表示形式。
具体实施方式
本公开描述了单独提供各种功能的方法、系统、和计算机程序产品等等。在以下描述中,出于解释的目的而给出了许多具体细节以便提供对本公开不同实施例的各个方面的全面理解。然而,对于本领域技术人员将会显而易见的是,本公开可以在没有所有具体细节的情况下进行实践。
在示例实施例中,通过各种机制来实现用户账户身份跨多个网络实体的双重绑定。每个实体保存其自己的访问许可的记录,并且利用同步组件来跨该多个实体同步这些记录。当用户在第一实体处请求新的访问许可时,从第二实体请求赞成流程。当该赞成流程随后被第一实体接收并执行时,该用户就被呈现以授予分享信息的赞成的机会。值得注意的是,该赞成是针对双向分享的赞成,例如从第一实体到第二实体以及从第二实体到第一实体。一旦授予了该赞成,实体就可以在用户身份层级被绑定,在媒体实体处创建访问许可,其存储用户赞成的记录、与其他实体上的访问许可相对应的访问令牌,以及与其他实体上的访问许可相对应的刷新令牌。这些令牌准许访问许可被其他实体所利用直到其被撤回为止。
图1是图示了根据示例实施例的双重绑定系统100的框图。双重绑定系统100可以包括第一实体102和第二实体104。这些实体102、104中的每一个可以包括不同的真实世界实体所提供的服务,所述不同的真实世界实体例如不同的公司或组织。在该系统100中,第一实体102和第二实体104均被描绘为包含关于双重绑定系统100的相同或相似的功能。在一些示例实施例中,功能针对不同实体可能有所不同。例如,在一些示例实施例中,第二实体104可能缺乏允许用户发起绑定的能力,从而第二实体104因此可能缺少本文关于绑定发起所描述的一些组件和/或功能。
用户106被描绘为系统100的一部分。这里,与第二实体104不同,用户106正直接与第一实体102交互,但是并不妨碍用户106另外地或可替换地直接与第二实体104进行交互。
用户106可以通过与第一实体102中的前端108进行交互来在第一实体102处发起授权流程。前端108例如可以是网站或应用服务器,其经由位于用户106所操作的客户端设备上的客户端组件来引起与用户106的交互。例如,用户106可能正利用web浏览器来操作膝上计算机。在该情况下,前端108可以是包含网页的web服务器,所述网页可以被供应给该web浏览器以便执行和渲染。在另一个示例中,用户106可能正在利用对应于第一实体的独立应用(例如,第一实体102所发布的“app”)来操作移动设备。在该情况下,前端108可以是包含脚本或其他过程的应用服务器,所述脚本或其他过程可以被供应给该独立应用以便执行和渲染。
在一个示例实施例中,前端108包括用户绑定系统(UBS)110。UBS 110可以包括库、插件、和/或过滤器,其封装第一实体102中利用第二实体104的数据的服务所实践的共同行为。例如,UBS 110可以包含“将您的账户与第二实体绑定”按钮,其可以被整合到网页中,并且当被用户激活时使得授权流程得以执行。
UBS 110与中层协调组件112进行通信,后者协调针对第一实体102中的各种组件的后端调用。其为第二实体104展示端点以进行调用来完成双重绑定流程、以及用于设置数据选择退出改变,以及用于撤回。
特别地,用户106可以与设置组件114进行交互,其充当前端以允许用户106配置用于绑定的设置,例如包括控制第二实体104上的哪些单独应用能够访问第一实体102(并且反之亦然)以及能够被访问的个体数据类型的能力。中层协调组件112接着可以与设置组件114进行交互以获得并实施这些设置。
另外地,中层协调组件112可以与授权前端116和授权后端118进行交互以获得实际访问赞成。授权前端116是示出授权屏幕并且托管访问令牌交换的服务。授权前端116提供双重绑定流程,其在授权开始时采用组合范围(combined scope)并且将该组合范围作为访问令牌响应的一部分返回。授权后端118是创建并存储授权码和访问令牌的后端服务。对于双重绑定实施例而言,其还生成刷新令牌以发送至第二实体104。
网关即平台(gateway-as-a-platform,GAAP)前端120将用户重新定向至第三方授权屏幕并且通过处理授权码重定向操作来处理授权响应。在双重绑定环境中,其在执行双重绑定时调用中层协调组件112。
GAAP后端112对(脚本所驱动的)第三方作出对外的应用编程接口(API)调用,处理第三方授权,并且针对第三方存储访问信息。API调用定义可以被用来联系第二实体104。如将会看到的,第二实体104上的授权集成件可以发送并返回新的参数,例如加密的成员标识和授权的范围。
绑定状态组件124负责跟踪第一实体102的用户的绑定状态。绑定状态组件124还负责针对给定成员和应用提供与绑定状态相关的元数据以及在绑定状态已经发生改变时激活事件。
如上文简要描述的,第二实体104可以包含与第一实体102相似的组件。这在该图中有所描绘,但是个体组件因为它们已经关于第一实体102进行过描述所以并未被标出。
在第一实体102的组件(和/或它们的基本功能)与第二实体104的组件(和/或它们的基本功能)并不相同的实施例中,建立双重绑定的流程可以根据用户106是在第一实体102上还是在第二实体104上开始授权流程而改变。
图2是图示了根据示例实施例的当用户106在第一实体102上开始授权流程时建立双重绑定的序列200的梯形图。在操作202处,用户106开始授权流程。在操作204处,针对第二实体104上的授权码进行重定向。在示例实施例中,这可以看上去像是OAuth 2.0授权请求,其沿着客户端标识、范围、状态和重定向统一资源标识符(URI)进行。在操作206处,第二实体104可以在需要的情况下提示用户106登录。控制在操作208处被送回到第一实体102。在操作210处,组合赞成屏幕被呈现给用户106。假设用户106赞成,则在操作212处,利用来自第一实体102的访问许可针对第二实体104进行重定向。在操作214处,进行服务器至服务器交换,其中第二实体104使用在操作212中提供的访问许可来请求访问令牌。在一个示例实施例中,该服务器至服务器交换是经由OAuth 2.0协议来执行的。这可以包括允许类型、代码、重定向URI(之前获取到的相同URI)以及外部身份密钥,这对于用户而言是唯一数值。在操作216处,第一实体102将访问令牌和刷新令牌返回至第二实体104。操作216中还可以传输范围(如之前所接收的相同范围)以及加密的成员标识。访问令牌是可以被用来访问第一实体上的数据的令牌,而刷新令牌则是可以被用来在访问令牌过期或者以其他方式失效的情况下获得替换所述访问令牌的令牌。
在操作218处,第二实体104生成其自己的访问许可以及访问和刷新令牌,并且在操作220处,第二实体104将该访问令牌和刷新令牌发送至第一实体102。
图3是图示了根据示例实施例的当用户106在第二实体104上开始授权流程时建立双重绑定的序列300的梯形图。在操作302处,用户106开始授权流程。在操作304处,进行重定向以在第一实体102上开始授权流程。在操作306处,组合赞成屏幕被呈现给用户106。假设用户106赞成,则在操作308处,利用来自第二实体104的访问许可针对第一实体102进行重定向。在操作310处,进行服务器至服务器交换,其中,第二实体104使用在操作308中提供的访问许可来请求访问令牌。在一个示例实施例中,该服务器至服务器交换是经由OAuth2.0协议来执行的。这可以包括允许类型、代码、重定向URI(之前获取到的相同URI)、以及外部身份密钥,这对于用户而言是唯一数值。在操作312处,第一实体102将访问令牌和刷新令牌返回至第二实体104。操作312中还可以传输范围(如之前所接收的相同范围)以及加密的成员标识。
在操作314处,第二实体104生成其自己的访问许可以及访问和刷新令牌,并且在操作316处,第二实体104将该访问令牌和刷新令牌发送至第一实体102。
一旦建立了双重绑定,每个实体102、104就可以使用访问令牌和/或刷新令牌来为用户106从其他实体102、104请求数据,而不需要来自用户106的明确动作。例如,第一实体102可以将针对信息的请求连同访问令牌一起发送至第二实体104,后者随后可以相对于其访问许可检查该访问令牌,并且如果该访问令牌与访问许可相匹配,则允许访问数据。如果第二实体104希望从第一实体102访问数据,则可以遵循相同的过程。
在某一时刻,用户106可能希望撤回访问许可。图4是图示了根据示例实施例的撤回双重绑定的序列400的梯形图。在操作406处,用户106在第一实体102上发起撤回流程。第一实体102接着可以在操作404处调用撤回双重绑定API,这引起第二实体104在操作406处删除相对应的访问许可,以及在操作408处删除相对应的访问令牌和/或刷新令牌。在操作410处,控制被返回至第一实体102,第一实体102在操作412处删除相对应的访问许可,以及在操作414处删除相对应的访问令牌和/或刷新令牌。
图5是图示了根据示例实施例的数据模型状态在执行双重绑定时如何改变的示图。在第一实体504上首次创建访问许可502时存在第一数据模型状态500。在第二实体510上创建刷新令牌508时存在第二数据模型状态506。在第二实体510上首次创建访问许可514时存在第三数据模型状态512。在第一实体504上创建刷新令牌508时存在第四数据模型状态516。
图6是图示了根据示例实施例的当用户106在第一实体上102发起授权流程时第一实体102的组件之间的序列600的梯形图。在操作602处,用户106针对UBS 110发起授权流程。在操作604处,UBS 110重定向至GAAP前端120。在操作606处,GAAP前端120重定向至第二实体104以开始该授权流程。在操作608处,第二实体104向用户106呈现登入或登录屏幕,用户将其完成。在操作610处,第二实体104在第一实体102的授权后端118开始该授权流程。在操作612处,授权后端118在中层协调组件612处开始双重绑定。在操作614处,向用户106呈现该用户106完成的双重赞成屏幕。在操作616处,授权后端118利用授权码重定向至第二实体104。在操作618处,第二实体104将针对令牌的交换码发送至授权后端118。在操作620处,授权后端118在中层协调组件112处完成步骤1授权。
在操作622处,第二实体104将刷新令牌发送至授权前端116。在操作624处,授权前端116将刷新令牌发送至中层协调组件112,后者在操作626处将该刷新令牌存储在GAAP后端122。
在操作628处,第二实体104重定向回到第一实体102,具体地是GAAP前端120。在操作630处。GAAP前端120重定向至UBS 110。在操作632处,UBS 110重定向回到用户106。
图7是图示了根据示例实施例的当用户106在第二实体104上发起授权流程时第一实体102的组件之间的序列700的梯形图。在操作702处,用户106发起授权流程。在操作704处,第二实体104在第一实体102的授权后端118处开始该授权流程。在操作706处,授权后端118在中层协调组件112处开始双重绑定。在操作708处,向用户106呈现该用户106完成的双重赞成屏幕。在操作710处,授权后端118利用授权码重定向至第二实体104。在操作712处,第二实体将针对令牌的交换码发送至授权后端118。在操作714处,授权后端118在中层协调组件112处完成步骤1授权。
在操作716处,第二实体104将刷新令牌发送至授权前端116。在操作718处,授权前端116将刷新令牌发送至中层协调组件,后者在操作720处将该刷新令牌存储在GAAP后端122。
图8是图示了根据示例实施例的当用户106在第一实体102处发起绑定撤回时第一实体102的组件之间的序列800的梯形图。在操作802处,用户106在设置组件114处发起撤回。在操作804处,设置组件114告知中层协调组件112开始撤回过程。在操作806处,中层协调组件112将针对第二实体104的去除绑定的请求发送至GAAP后端122,后者在操作808处将该请求传送至第二实体104。
在操作810处,第二实体104删除其对应于该用户106的访问许可,并且在操作812处,第二实体104去除对应于该访问许可的令牌。在操作814处,第二实体104将控制返回至GAAP后端122。
在操作816处,GAAP后端122将控制返回至中层协调组件112。在操作818处,中层协调组件112在授权后端118删除其对应于用户106的访问许可,所述授权后端118随后在操作820处将控制返回中层协调组件。
在操作822处,中层协调组件112向绑定状态组件124通知访问许可已经被删除。在操作824处,中层协调组件112在GAAP后端122去除对应于第一实体102的与该用户相对应的访问许可的令牌,所述GAAP后端122随后在操作826处将控制返回至中层协调组件112。
在操作828处,中层协调组件112向绑定状态组件124通知该令牌已经被删除。
图9是图示了根据示例实施例的当用户106在第二实体104处发起绑定撤回时第一实体102的组件之间的序列的梯形图。在操作902处,用户106在第二实体104处发起撤回。在操作904处,第二实体104指示网关900去除绑定。在操作906处,网关900请求中层协调组件112开始撤回过程。在操作908处,中层协调组件112在授权后端118删除第一实体102的对应于用户106的访问许可,所述授权后端118随后在操作910处将控制返回至中层协调组件112。
在操作912处,中层协调组件112向绑定状态组件124通知访问许可已经被删除。在操作914处,中层协调组件112在GAAP后端122去除对应于第一实体102的与用户106相对应的访问许可的令牌,所述GAAP后端122随后在操作916处将控制返回至中层协调组件112。
在操作918处,中层协调组件112向绑定状态组件124通知该令牌已经被去除。在操作920处,控制被返回至网关900,所述网关在操作922处将控制返回至第二实体104。
在操作924处,第二实体104删除其对应于用户106的访问许可,并且在操作926处,第二实体104去除对应于该访问许可的令牌。
图10是图示了根据示例实施例的用于双重绑定的方法1000的流程图。在操作1002处,在第一网络实体处生成用户界面。在操作1004处,该用户界面被呈现给用户。在操作1006处,经由该用户界面来接收使得对第二网络实体所存储的对应于该用户的数据的访问成为必要的动作。在操作1008处,在该用户界面中显示组合赞成屏幕,该组合赞成屏幕包括按钮,所述按钮在该用户界面中被激活时授权对应于该用户的数据在第一网络实体和第二网络实体之间双向交换。在操作1010处,接收该按钮已经被激活的指示。在操作1012处,响应于接收到该按钮已经被激活的指示,第一访问许可在该第一网络实体处被生成并且被发送至该第二网络实体。在操作1014处,从该第二网络实体接收对授权码的交换。在操作1016处,对应于该第一访问许可的第一访问令牌被生成并且被发送至该第二网络实体。在操作1018处,从第二网络实体接收与由该第二网络实体所生产的第二访问许可相对应的第二访问令牌。
图11是图示了在其中显示组合赞成屏幕的用户界面屏幕1100的截屏。如所能够看到的,用户界面屏幕1100包括其中向用户描述该组合赞成方面的区域1102,以及用户可以选择用于接受该组合赞成的按钮1104。
图12是图示了根据示例实施例的可以按照在上文所描述的任何一个或多个设备上安装的软件1202的架构的框图1200。图12仅是软件架构的非限制性示例,并且将要意识到的是,可以实现许多其他架构来促进本文所描述的功能。在各个实施例中,软件1202由诸如图13的机器1300的硬件来实现,所述机器1300包括处理器1310、存储器1330、输入/输出(I/O)组件1350。在该示例架构中,软件1202可以被概念化表示为分层的堆栈,其中,每个分层可以提供特定功能。例如,软件1202包括诸如操作系统1204、库1206、框架1208和应用1210之类的分层。在操作上,根据一些实施例,应用1210通过软件栈来调取API调用1212,并且响应于API调用1212而接收消息1214。
在各种实施例中,操作系统1204管理硬件资源并提供公共服务。操作系统1204例如包括内核1220、服务1222、和驱动器1224。根据一些实施例,内核1220用作硬件和其他软件层之间的抽象层。例如,内核1220提供存储器管理、处理器管理(例如,调度)、组件管理、网络连接、和安全性设置等其他功能。服务1222可以为其他软件层提供其他公共服务。根据一些实施例,驱动器1224负责控制底层硬件或与底层硬件接合。例如,驱动器1224可以包括显示器驱动器、相机驱动器、
Figure BDA0002489780830000101
驱动器、闪速存储器驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、
Figure BDA0002489780830000102
驱动器、音频驱动器、电源管理驱动器,等等。
在一些实施例中,库1206提供由应用1210所利用的低级别公共基础设施。库1206可以包括系统库1230(例如,C标准库),其可以提供诸如存储器分配函数、字符串操作函数、数学函数等之类的函数。此外,库1206可以包括API库1232,诸如媒体库(例如,支持各种媒体格式的呈现和操纵的库,诸如运动图像专家组-4(MPEG4),高级视频编码(H.264或AVC)、动态图像专家组-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)、音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中呈现二维(2D)和三维(3D)的OpenGL框架)、数据库库(例如,提供各种关系数据库函数的SQLite)、Web库(例如,提供网页浏览功能的WebKit)等。库1206同样可以包括各种其他库1234,以向应用1210提供许多其他API。
根据一些实施例,框架1208提供能够由应用1210所利用的高级公共基础设施。例如,框架1208提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架1208可以提供能够由应用1210所利用的其他API的广泛范围,其中的一些应用可专用于特定操作系统或平台。
在示例实施例中,应用1210包括主页应用1250、联系人应用1252、浏览器应用1254、书籍阅读器应用1256、位置应用1258、媒体应用1260、消息传送应用1262、游戏应用1264、和诸如第三方应用1266的各种其他应用。根据一些实施例,应用1210是执行在程序中定义的功能的程序。可以利用各种编程语言来创建以各种方式构造的一个或多个应用1210,诸如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C或汇编语言)。在具体示例中,第三方应用1266(例如,由除特定平台的供应商之外的实体使用AndroidTM或iOSTM软件开发工具包(SDK)开发的应用)可以是在诸如iOSTM、AndroidTM
Figure BDA0002489780830000111
Phone或其他移动操作系统的移动操作系统上运行的移动软件。在该示例中,第三方应用1266可以调用由操作系统1204提供的API调用1212,以促进在本文中所描述的功能。
图13图示了根据示例实施例的可以在其中执行指令集以便使得机器1300执行本文所讨论的任何一种或多种方法的计算机系统的形式的机器1300的示意性表示。具体地,图13示出了计算机系统的示例形式的机器1300的示意图,在该计算机系统内可以执行用于使机器1300执行在此讨论的任何一种或多种方法的指令1316(例如,软件、程序、应用、小应用、应用软件、或其他可执行代码)。例如,指令1316可以使得机器1300执行图10的方法1000。除此之外或可替换地,该指令可以实施图1-10,等等。指令1316将通用的未编程的机器转换成被编程为以所描述的方式执行所描述和示出的功能的特定机器。在替代实施例中,机器1300作为独立装置操作或者可以耦接(例如,联网)到其他机器。在联网部署中,机器1300可以在服务器-客户端网络环境中的服务器机器或客户端机器的容量中操作,或者作为对等(或分布式)网络环境中的对等(peer)机器操作。机器1300可以包括但不限于服务器计算机、客户端计算机、PC、平板计算机、笔记本计算机、上网本、机顶盒(STB)、PDA、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家电)、其他智能装置、网络设备、网络路由器、网络交换机、网络桥接器或按顺序或以其他方式指定机器1300将采取的动作的能够执行指令1316的任何机器。此外,尽管仅示出了单个机器1300,但是术语“机器”还应被视为包括单独或共同执行指令1316以执行在本文中所讨论的任何一种或多种方法的机器1300的集合。
机器1300可以包括处理器1310、存储器/存储装置1330和I/O组件1350,其可被配置为诸如经由总线1302与彼此通信。在示例实施例中,处理器1310(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC),射频集成电路(RFIC)、另一个处理器或其任何合适的组合)可以包括例如可以执行指令1316的处理器1312和处理器1314。术语“处理器”旨在包括多核处理器,其包括可同时执行指令的两个或多个独立处理器(有时称为“核”)。尽管图13示出了多个处理器,但是机器1300可以包括具有单核的单个处理器、具有多核的单个处理器(例如,多核处理器)、具有单核的多个处理器、具有多核的多个处理器,或其任何组合。
存储器1330可以包括诸如经由总线1302对处理器1310可访问的主存储器1332、静态存储器1334或其他存储装置和存储单元1336。存储单元1336和存储器1332存储体现在本文中所述的任何一种或多种方法或功能的指令1316。在由机器1300的其执行期间,指令1316同样可以完全或部分地驻留在存储器1332内、存储单元1334内、处理器1310中的至少一个内(例如,在处理器的高速缓冲存储器内)或其任何适当的组合。
I/O组件1350可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等的各种组件。包括在特定机器中的特定I/O组件1350将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入装置或其他此类输入机构,而无头式(headless)服务器机器将可能不包括此类触摸输入装置。应当理解,I/O组件1350可以包括图13中并未示出的许多其他组件。仅为简化以下讨论,根据功能对I/O组件1350分组,并且分组决不是限制性的。在各种示例实施例中,I/O组件1350可以包括输出组件1352和输入组件1354。输出组件1352可以包括视觉组件(例如,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学组件(例如,扬声器)、触觉组件(例如,振动马达、电阻机构)、其他信号发生器等。输入组件1354可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电光学键盘或其他字母数字输入组件)、基于指点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指示仪器)、触感输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏,或其他触知输入组件)、音频输入组件(例如,麦克风)等。
在另外的示例实施例中,I/O组件1350可以包括多个其他组件中的生物特征组件1356、运动组件1358、环境组件1360或位置组件1362。例如,生物特征组件1356可以包括检测表达(例如手的表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1358可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1360可以包括例如照明传感器组件(例如光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、近距离传感器组件(例如,检测附近物体的红外传感器)、气体传感器组件(例如,机器嗅觉检测传感器,气体检测传感器,用于检测危险气体的安全性浓度或测量大气中的污染物的浓度)或可提供对应于周围物理环境的指示、测量或信号的其他组件。位置组件1362可以包括位置传感器组件(例如,GPS接收器组件)、高度传感器组件(例如,高度计或气压计,其检测可以从哪个高度导出空气压力)、取向传感器组件(例如磁力计)等。
通信可以使用各种技术来实现。I/O组件1350可以包括可操作以分别经由耦合1382和耦合1372将机器1300耦接到网络1380或设备1370的通信组件1364。例如,通信组件1364包括网络接口组件或与网络1380接口连接的其他合适的设备。在另外的示例中,通信组件1364包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、
Figure BDA0002489780830000131
组件(例如,
Figure BDA0002489780830000132
低能耗)、
Figure BDA0002489780830000133
组件和经由其他模式提供通信的其他通信组件。设备1370可以是另一个机器或者各种外围设备(例如,经由USB耦接的外围设备)中的任一个。
此外,通信组件1364可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1364可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(UPC)条形码的一维条形码,诸如,快速响应(QR)代码、Aztec代码、数据矩阵、Dataglyph、MaxiCode、PDF417、超码、UCC RSS-2D条形码的多维条形码,以及其他光学代码)、声学检测组件(例如,用于识别标记的音频信号的麦克风),或者它们任何合适的组合。此外,可以经由通信组件1364来导出各种信息,诸如经由互联网协议(IP)地理位置的位置、经由
Figure BDA0002489780830000141
信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等。
可执行指令和机器存储介质
各种存储器(即,1330、1332、1334和/或(多个)处理器1310的存储器)和/或存储单元1336可以存储体现本文所描述的任何一种或多种方法或功能或者被其所利用的指令和数据结构(例如,软件)的一个或多个集合。这些指令(例如,指令1316)在被(多个)处理器1310执行时使得各种操作实施所公开的实施例。
如本文所使用的,术语“机器存储介质”、“设备存储介质”和“计算机存储介质”表示相同事物并且可以以可互换的方式来使用。该术语是指存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如,集中或分布式数据库和/或相关联的高速缓存和服务器)。该术语因此应当被认为包括但并不局限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括非易失性存储器,作为示例包括半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、现场可编程门阵列(FPGA)和闪存存储器设备;磁盘,诸如内部硬盘和可移除盘;磁性光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”具体排除了载波、调制数据信号以及其他这样的介质,它们中的至少一些被涵盖于以下所讨论的术语“信号介质”之下。
传输介质
在各种示例实施例中,网络1380的一个或多个部分可以是自组织网络、内联网、外部网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0002489780830000142
网络、另一种类型的网络,或两个或更多个此类网络的组合。例如,网络1380或网络1380的一部分可以包括无线或蜂窝网络,并且耦合1382可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦合1382可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线业务(GPRS)技术、GSM演进增强型数据速率(EDGE)无线电通信技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。
可以使用传输介质经由网络接口设备(例如,在通信组件1364中包括的网络接口组件)并且利用多个公知传输协议中的任何一种(例如,HTTP),通过网络1380来发送或接收指令1316。类似地,指令1316可以经由耦合1372(例如,对等耦合)使用传输介质发送或接收装置1370。术语“传输介质”和“信号介质”表示相同事物并且可以在本公开中以可互换的方式来使用。术语“传输介质”和“信号介质”应被视为包括能够存储、编码或携带由机器1300执行的指令1316的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以便于这种软件的通信。因此,术语“传输介质”和“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”表示其一种或多种特性以将信息编码在该信号中的方式被设置或改变的信号。
计算机可读介质
术语“机器可读介质”、“计算机可读介质”和“设备可读介质”表示相同事物并且可以在本公开中以可互换的方式来使用。该术语被定义为包括机器存储介质和传输介质。因此,该术语包括了存储设备/介质以及载波/调制数据信号二者。

Claims (14)

1.一种计算机网络系统,包括:
存储器;以及
具有存储在其上的指令的计算机可读介质,所述指令当由处理器执行时使得所述系统进行以下操作:
在第一计算机网络实体处生成用户界面;
引起所述用户界面向用户的呈现;
经由所述用户界面接收动作,所述动作使得对由不同于所述第一计算机网络实体的第二计算机网络实体所存储的与所述用户相对应的数据的访问成为必要;
引起在所述用户界面中对组合赞成屏幕的显示,所述组合赞成屏幕包括按钮,所述按钮当在所述用户界面中被激活时授权与所述用户相对应的私人用户数据在所述第一计算机网络实体与所述第二计算机网络实体之间以双向进行交换;
接收所述按钮已经被激活的指示;以及
响应于接收到所述按钮已经被激活的指示:
在所述第一计算机网络实体处生成第一访问许可并且将所述第一访问许可发送至所述第二计算机网络实体;
从所述第二计算机网络实体接收对授权码的交换;
生成与所述第一访问许可相对应的第一访问令牌并且将所述第一访问令牌发送至所述第二计算机网络实体;以及
从所述第二网络实体接收与由所述第二计算机网络实体所生成的第二访问许可相对应的第二访问令牌。
2.根据权利要求1所述的系统,其中,所述指令还使得所述系统进行以下操作:
响应于对所述动作的接收而重定向至所述第二计算机网络实体,其中,所述用户被请求登录到所述第二计算机网络实体,以及响应于所述用户登录而重定向至所述第一计算机网络实体。
3.根据权利要求1所述的系统,其中,对所述第一访问令牌的生成和对所述第一访问令牌的发送还包括生成与所述第一访问令牌相对应的第一刷新令牌以及将所述第一刷新令牌发送至所述第二计算机网络实体。
4.根据权利要求1所述的系统,其中,所述指令还使得所述系统进行以下操作:
经由所述用户界面接收用于撤回对与所述用户相对应的私人用户数据以双向进行交换的授权的请求;
响应于接收到所述用于撤回授权的请求,删除所述第一访问许可和所述第一访问令牌,并且重定向至所述第二计算机网络实体以删除所述第二访问许可和所述第二访问令牌。
5.根据权利要求1所述的系统,其中,所述第一访问许可被设置为仅允许针对一个或多个指定数据类型的访问。
6.根据权利要求1所述的系统,其中,所述第一访问许可被设置为仅允许针对一个或多个指定应用的访问。
7.根据权利要求1所述的系统,其中,所述指令还使得所述系统进行以下操作:
从所述第二计算机网络实体接收数据访问请求和所述第二访问令牌;以及
响应于接收到所述数据访问请求和所述第二访问令牌:
将所述第一访问令牌与所述第一访问许可进行比较以确定所述第二计算机网络实体是否被授权访问与所述数据访问请求相对应的数据;以及
响应于确定所述第二计算机网络实体被授权访问与所述数据访问请求相对应的数据,获得与所述数据访问请求相对应的所述数据并且将与所述数据访问请求相对应的所述数据返回至所述第二计算机网络实体。
8.一种关于计算机网络的方法,包括:
在第一计算机网络实体处生成用户界面;
引起所述用户界面向用户的呈现;
经由所述用户界面接收动作,所述动作使得对由不同于所述第一计算机网络实体的第二计算机网络实体所存储的与所述用户相对应的数据的访问成为必要;
引起在所述用户界面中对组合赞成屏幕的显示,所述组合赞成屏幕包括按钮,所述按钮当在所述用户界面中被激活时授权与所述用户相对应的私人用户数据在所述第一计算机网络实体与所述第二计算机网络实体之间以双向进行交换;
接收所述按钮已经被激活的指示;
响应于接收到所述按钮已经被激活的指示:
在所述第一计算机网络实体处生成第一访问许可并且将所述第一访问许可发送至所述第二计算机网络实体;
从所述第二计算机网络实体接收对授权码的交换;
生成与所述第一访问许可相对应的第一访问令牌并且将所述第一访问令牌发送至所述第二计算机网络实体;以及
从所述第二计算机网络实体接收与由所述第二计算机网络实体所生成的第二访问许可相对应的第二访问令牌。
9.根据权利要求8所述的方法,还包括:
响应于对所述动作的接收而重定向至所述第二计算机网络实体,其中,所述用户被请求登录到所述第二计算机网络实体,以及响应于所述用户登录而重定向至所述第一计算机网络实体。
10.根据权利要求8所述的方法,其中,对所述第一访问令牌的生成和对所述第一访问令牌的发送还包括生成与所述第一访问令牌相对应的第一刷新令牌以及将所述第一刷新令牌发送至所述第二计算机网络实体。
11.根据权利要求8所述的方法,还包括:
经由所述用户界面接收用于撤回对与所述用户相对应的私人用户数据以双向进行交换的授权的请求;以及
响应于接收到所述用于撤回授权的请求,删除所述第一访问许可和所述第一访问令牌,并且重定向至所述第二计算机网络实体以删除所述第二访问许可和所述第二访问令牌。
12.根据权利要求8所述的方法,其中,所述第一访问许可被设置为仅允许针对一个或多个指定数据类型的访问。
13.根据权利要求8所述的方法,其中,所述第一访问许可被设置为仅允许针对一个或多个指定应用的访问。
14.根据权利要求8所述的方法,还包括:
从所述第二计算机网络实体接收数据访问请求和所述第二访问令牌;以及
响应于接收到所述数据访问请求和所述第二访问令牌:
将所述第一访问令牌与所述第一访问许可进行比较以确定所述第二计算机网络实体是否被授权访问与所述数据访问请求相对应的数据;以及
响应于确定所述第二计算机网络实体被授权访问与所述数据访问请求相对应的数据,获得与所述数据访问请求相对应的所述数据并且将与所述数据访问请求相对应的所述数据返回至所述第二计算机网络实体。
CN201880073510.8A 2017-11-14 2018-11-05 双重绑定 Active CN111345006B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/812,509 2017-11-14
US15/812,509 US10587618B2 (en) 2017-11-14 2017-11-14 Dual binding
PCT/US2018/059125 WO2019099220A1 (en) 2017-11-14 2018-11-05 Dual binding

Publications (2)

Publication Number Publication Date
CN111345006A CN111345006A (zh) 2020-06-26
CN111345006B true CN111345006B (zh) 2022-09-27

Family

ID=64402287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880073510.8A Active CN111345006B (zh) 2017-11-14 2018-11-05 双重绑定

Country Status (4)

Country Link
US (1) US10587618B2 (zh)
EP (1) EP3711277B1 (zh)
CN (1) CN111345006B (zh)
WO (1) WO2019099220A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210377240A1 (en) * 2020-06-02 2021-12-02 FLEX Integration LLC System and methods for tokenized hierarchical secured asset distribution
CN112822675B (zh) * 2021-01-11 2021-11-23 北京交通大学 面向MEC环境的基于OAuth2.0的单点登录机制
CN113691378B (zh) * 2021-08-24 2024-07-05 平安国际智慧城市科技股份有限公司 基于网关的Oauth2单点登录方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014182865A1 (en) * 2013-05-09 2014-11-13 Microsoft Corporation Authentication and authorization with a bundled token

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240763A9 (en) * 2001-08-06 2005-10-27 Shivaram Bhat Web based applications single sign on system and method
US20030130867A1 (en) * 2002-01-04 2003-07-10 Rohan Coelho Consent system for accessing health information
US20070101145A1 (en) * 2005-10-31 2007-05-03 Axalto Inc. Framework for obtaining cryptographically signed consent
US9032544B2 (en) * 2010-12-22 2015-05-12 Private Access, Inc. System and method for controlling communication of private information over a network
EP2724280B1 (en) * 2011-06-27 2020-05-20 Google LLC Persistent key access to a resources in a collection
US9043886B2 (en) * 2011-09-29 2015-05-26 Oracle International Corporation Relying party platform/framework for access management infrastructures
US20140173695A1 (en) * 2012-12-18 2014-06-19 Google Inc. Token based account access
CN103051630B (zh) * 2012-12-21 2016-01-27 微梦创科网络科技(中国)有限公司 基于开放平台实现第三方应用授权的方法、装置及系统
JP6166596B2 (ja) * 2013-06-21 2017-07-19 キヤノン株式会社 認可サーバーシステムおよびその制御方法、並びにプログラム
CN105659558B (zh) * 2013-09-20 2018-08-31 甲骨文国际公司 计算机实现的方法、授权服务器以及计算机可读存储器
GB2527285B (en) * 2014-06-11 2021-05-26 Advanced Risc Mach Ltd Resource access control using a validation token
US9788039B2 (en) * 2014-06-23 2017-10-10 Google Inc. Camera system API for third-party integrations
US10178044B2 (en) * 2014-06-27 2019-01-08 International Business Machines Corporation Providing a guest with access to content of a social network
AU2016202192A1 (en) * 2015-04-07 2016-10-27 Sethi, Ranvir MR System and method for enabling a secure transaction between users
WO2017131892A1 (en) * 2016-01-29 2017-08-03 Google Inc. Device access revocation
CN111783067B (zh) * 2016-05-09 2023-09-08 创新先进技术有限公司 多网站间的自动登录方法及装置
US10623410B2 (en) * 2017-04-24 2020-04-14 Microsoft Technology Licensing, Llc Multi-level, distributed access control between services and applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014182865A1 (en) * 2013-05-09 2014-11-13 Microsoft Corporation Authentication and authorization with a bundled token

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
The OAuth 2.0 Authorization Framework;IETF;《Internet Engineering Task Force,IETF;Standard》;20121013;全文 *

Also Published As

Publication number Publication date
EP3711277B1 (en) 2022-09-07
EP3711277A1 (en) 2020-09-23
WO2019099220A1 (en) 2019-05-23
CN111345006A (zh) 2020-06-26
US10587618B2 (en) 2020-03-10
US20190149547A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
US11290457B2 (en) Cloud-based coordination of remote service appliances
KR102163528B1 (ko) 지오-펜스 인가 프로비저닝
US12088542B2 (en) Multiple application authentication
US20160139662A1 (en) Controlling a visual device based on a proximity between a user and the visual device
US11720653B2 (en) Software component relation engine
CN117678196A (zh) 隐私安全联合标识协议
CN111345006B (zh) 双重绑定
US11341214B2 (en) Managed authentication for software component environment
US20200389319A1 (en) System and method for electronic claim verification
TW201535142A (zh) 使用機器可讀取代碼來對於裝置進行認證和配對
US12061859B2 (en) Markdown data content with action binding
US11310243B2 (en) Secure communication with an end device through an intermediary system
US11528302B2 (en) Real-time media streams
KR20230029903A (ko) 병치된 사용자들을 페어링하기 위한 보안 프로토콜
US20230353503A1 (en) Role-based access control system for managing access to resources
JP7398600B2 (ja) インターネット上の分散型デジタルシネマパッケージ(dcp)
US20210043214A1 (en) Programmable Voice Extension Framework
US20230353574A1 (en) Managing access to resources using serialized tokens
US20240070162A1 (en) Technique for constructing and maintaining an application-to-friend index
US20230421563A1 (en) Managing access control using policy evaluation mode
KR20240154095A (ko) 협업 공용 사용자 프로필

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