CN114667711B - 用于实现开放授权的双边令牌的***和方法 - Google Patents
用于实现开放授权的双边令牌的***和方法 Download PDFInfo
- Publication number
- CN114667711B CN114667711B CN202080062564.1A CN202080062564A CN114667711B CN 114667711 B CN114667711 B CN 114667711B CN 202080062564 A CN202080062564 A CN 202080062564A CN 114667711 B CN114667711 B CN 114667711B
- Authority
- CN
- China
- Prior art keywords
- partner
- host
- application server
- user account
- account information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000013475 authorization Methods 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims abstract description 42
- 230000002146 bilateral effect Effects 0.000 claims abstract description 15
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 16
- 230000002457 bidirectional effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3273—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Telephonic Communication Services (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
Abstract
描述了一种用于实现OAUTH的双边令牌的***和方法。在主机认证服务器处接收合作伙伴应用服务器访问由主机服务器拥有的用户账户信息的第一请求。在接收到共享用户账户信息的授权之后,向合作伙伴应用服务器返回响应。响应包括访问令牌。响应于向合作伙伴应用服务器返回响应,将事件写入到事件队列。事件提供对访问的请求被接收并且具有访问令牌的对应响应被返回的指示。事件在由主机应用服务器读取时,指示主机应用服务器向合作伙伴认证服务器提交对互相访问令牌的第二请求。
Description
相关申请的交叉引用
本申请是于2019年9月7日提交的、申请号为16/563,851的美国专利申请的继续申请并要求其优先权,该美国专利申请通过引用以其整体并入本文。
技术领域
本主题技术一般涉及开放授权,更具体而言,涉及实现双边令牌以促进开放授权(OAUTH)过程。
背景技术
多年来,用户授权采取了多种形式。传统上,当用户注册针对任何类型的在线服务的账户时,用户会提供一些量的他/她的个人信息(例如,姓名、电子邮件地址等)。每个服务账户注册通常都会遇到新的信息请求。OAUTH的出现通过提供访问委托的开放标准,在一定程度上促进了这一过程。OAUTH允许第三方服务使用最终用户的账户信息,而不会暴露用户的密码。也就是说,在用户授权的情况下,OAUTH机制可以与第三方应用或网站共享来自用户账户之一的信息。例如,用户可能允许贝宝公司(PayPal,Inc.)与第三方应用共享用户信息,例如由诸如美国银行之类的金融机构推出的本地应用或网站。
然而,当用户授权时,这种信息共享仅发生在一个方向(例如,从PayPal到美国银行)。例如,当美国银行向PayPal发送请求以获取有关用户的信息时,就会发起这种信息共享。访问令牌从PayPal返回到美国银行,以授予访问PayPal保存的某些信息的权限。如上所述,在这种情况下,信息仅在一个方向上移动——从PayPal到美国银行。
从表面上看,如果用户同意在一个方向上共享信息,那么用户也可能会同意在另一个方向上共享信息。然而,由于请求的结果是只交换了一个访问令牌,因此仅在一个方向上授予访问权。因此,需要一种能够实现双边令牌来完成双向OAUTH交换的机制。
发明内容
根据本主题技术的各个方面,描述了一种用于实现OAUTH的双边令牌的***。在主机认证服务器处接收合作伙伴应用服务器访问由主机服务器拥有的用户账户信息的第一请求。在接收到共享所述用户账户信息的授权后,向所述合作伙伴应用服务器返回响应。所述响应包括访问令牌。响应于向所述合作伙伴应用服务器返回所述响应,将事件写入到事件队列。所述事件提供对所述访问的请求被接收并且具有所述访问令牌的对应响应被返回的指示。所述事件在由主机应用服务器读取时,指示所述主机应用服务器向合作伙伴认证服务器提交对互相访问令牌的第二请求。
根据本主题技术的各个方面,描述了一种用于实现OAUTH的双边令牌的方法。在主机认证服务器处接收合作伙伴应用服务器访问由主机服务器拥有的用户账户信息的第一请求。在接收到共享所述用户账户信息的授权后,向所述合作伙伴应用服务器返回响应。所述响应包括访问令牌。响应于向所述合作伙伴应用服务器返回所述响应,将事件写入到事件队列。所述事件提供对所述访问的请求被接收并且具有所述访问令牌的对应响应被返回的指示。所述事件在由主机应用服务器读取时,指示所述主机应用服务器向合作伙伴认证服务器提交对互相访问令牌的第二请求。
根据本主题技术的各个方面,描述了一种非暂态机器可读介质,其上存储有机器可读指令,可执行所述机器可读指令以用于实现OAUTH的双边令牌。在主机认证服务器处接收合作伙伴应用服务器访问由主机服务器拥有的用户账户信息的第一请求。在接收到共享所述用户账户信息的授权之后,向所述合作伙伴应用服务器返回指示授权成功的响应。访问令牌被写入主机-合作伙伴共享区块链的主机节点。所述访问令牌在被写入所述主机-合作伙伴共享区块链的所述主机节点之后,所述访问令牌被同步到所述主机-合作伙伴共享区块链的合作伙伴节点。所述访问令牌在被同步到所述主机-合作伙伴共享区块链的所述合作伙伴节点之后,所述访问令牌可被所述合作伙伴应用服务器访问。响应于将所述访问令牌写入所述主机-合作伙伴共享区块链的所述主机节点,将事件进一步写入到事件队列。所述事件提供对所述访问的请求被接收并且访问令牌被写入所述主机-合作伙伴共享区块链的所述主机节点的指示。所述事件在由主机应用服务器读取时,指示所述主机应用服务器向合作伙伴认证服务器提交对互相访问令牌的第二请求。所述响应包括访问令牌。响应于向所述合作伙伴应用服务器返回所述响应,将事件写入到事件队列。所述事件提供对所述访问的请求被接收并且具有所述访问令牌的对应响应被返回的指示。所述事件在由主机应用服务器读取时,指示所述主机应用服务器向合作伙伴认证服务器提交对互相访问令牌的第二请求。
本主题技术的附加特征和优点将在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过实践本主题技术来了解。本主题技术的优点将通过书面描述及其权利要求以及附图中特别指出的结构来实现和获得。
应当理解,前面的一般描述和下面的详细描述都是示例性和解释性的,并且旨在提供对所要求保护的本发明的进一步解释。
附图说明
附图示出了本主题技术的各个方面并且与描述一起用于解释本主题技术的原理,这些附图被包括以提供对本主题技术的进一步理解并且被并入本说明书且构成本说明书的一部分。
图1是示例性计算***的框图,在该计算***上可以执行OAUTH的双边令牌的实现。
图2是适用于实现图1中的计算***的一个或多个设备的示例性计算机***的框图。
图3图示了用于实现OAUTH的双边令牌的示例性过程300。
图4图示了用于使用区块链来实现OAUTH的双边令牌的可替代示例性过程300。
具体实施方式
通过利用OAUTH,现今的应用提供了一种跨应用共享信息的机制。例如,拥有PayPal账户的用户可以授权PayPal与第三方应用或网站共享用户信息。这些第三方应用或网站可以提供可以进行金钱或其他交易的平台,例如银行应用。
虽然这种信息共享发生在一个方向(例如,从PayPal到美国银行)上,但可以广泛假设用户授权将信息从第一方共享到第二方,假设用户通常不会对第二用户与第一用户共享信息产生任何问题。然而,为了实现双向信息共享,用户必须登录到他在两个不同组织的两个账户中的每一个,并分别授权信息被另一个账户共享。这个过程会生成要在每个方向上传输的令牌,例如,在一个实例中从美国银行到PayPal,而在另一个实例中从PayPal到美国银行。
为了解决像PayPal这样的公司与像美国银行这样的公司合作时共享两个不同令牌的问题,提出了一种令牌交换过程。具体地,提出了一个双方在单个用户旅程中发出令牌的过程,以便组织不必要求用户通过单独的旅程进行第二令牌交换。
本说明书包括对“一个实施例”、“一些实施例”或“实施例”的引用。这些短语的出现不一定是指相同的实施例。特定特征、结构或特性可以以与本公开内容一致的任何合适方式进行组合。
如本文所使用的,“第一”、“第二”等这些术语用作它们前面的名词的标签,并且不一定意味着任何类型的排序(例如,空间、时间、逻辑、基数等)。此外,各种组件可以被描述或要求为“被配置为”执行一个或多个任务。在这种上下文中,“被配置为”用于通过指示组件包括在操作期间执行一个或多个任务的结构(例如,存储的逻辑)来表示结构。因此,可以说组件被配置为即使在该组件当前未运行(例如,未开启)时也执行任务。引用组件“被配置为”执行一个或多个任务的明确意图不是针对该组件调用35U.S.C.§112(f)。
图1是示例性计算***的框图,在该计算***上可以执行OAUTH的双边令牌的实现方式。如图所示,计算***100可以包括或实现多个服务器、设备和/或软件组件,这些服务器、设备和/或软件组件用于执行根据所描述的实施例的各种方法。示例***器、设备和/或软件组件可以包括例如运行操作***(OS)的独立和企业级服务器,例如OS、/>OS、/>OS或其他合适的OS。可以理解,图1中图示的服务器可以以其他方式部署,并且由这些服务器执行的操作和/或提供的服务对于给定的实现方式可以被组合、分布和/或分离并且可以通过更多或更少数量的服务器来执行。一个或多个服务器可以由相同或不同实体操作和/或维护。
根据所描述的实施例,在各种设备、服务器、数据库和其他元件中,计算***100可以包括一个或多个客户端102,该客户端包括或采用一个或多个客户端设备104,例如膝上型电脑、移动计算设备、平板电脑、个人计算机、可穿戴设备、和/或具有计算和/或通信能力的任何其他计算设备。客户端设备104还可以包括蜂窝电话、智能电话、电子可穿戴设备(例如,智能手表、虚拟现实耳机)、或用户可以随身携带并且容易访问的其他类似的移动设备。
客户端设备104通常可以提供一个或多个客户端程序106,例如***程序和应用以执行各种计算和/或通信操作。示例性***程序可以包括但不限于操作***(例如,OS、/>OS、/>OS、Symbian OSTM、iOS、Android、EmbedixOS、用于无线的二进制运行时环境(Binary Run-time Environment for Wireless,BREW)OS、JavaOS、无线应用协议(WAP)OS等)、设备驱动器、编程工具、实用程序、软件库、应用编程接口(API)等。示例性应用程序可以包括但不限于支付***应用、网络浏览器应用、消息传递应用、联系人应用、日历应用、电子文档应用、数据库应用、媒体应用(例如,音乐、视频、电视)、基于位置的服务(LBS)应用(例如,GPS、地图绘制、方向、定位***、地理定位、兴趣点、***),它可以利用诸如天线等之类的硬件组件。一个或多个客户端程序106可以显示各种图形用户界面(GUI)以向客户端设备104的一个或多个用户呈现信息和/或从客户端设备104的一个或多个用户接收信息。在一些实施例中,客户端程序106可以包括一个或多个应用,该应用被配置为执行以下讨论的一些或所有功能和/或过程。
如图所示,客户端设备104可以经由一个或多个网络108通信地耦合到基于网络的***110。基于网络的***110可以被结构化、布置和/或配置为允许客户端102在基于网络的***110与各种客户端设备104和/或客户端程序106之间建立一个或多个通信会话。因此,客户端设备104与基于网络的***110之间的通信会话可以涉及信息的单向和/或双向交换并且可以取决于通信模式在一种或多种类型的网络108上发生。尽管图1的实施例图示了部署在客户端-服务器操作环境中的计算***100,但是应当理解,可以根据所描述的实施例来使用其他合适的操作环境和/或架构。
客户端设备104与基于网络的***110之间的数据通信可以通过一个或多个网络108(例如,因特网、WAN、WWAN、WLAN、移动电话网络、固定电话网络、个域网、以及其他合适的网络)发送和接收。例如,通过经由与网站、电子邮件、IM会话和/或视频消息会话的交互来发送和/或接收信息,客户端设备104可以通过因特网或其他合适的WAN与基于网络的***110通信。如将容易理解的,可以在客户端设备104与***110之间发生多种合适的通信类型中的任何一种。具体地,任何合适形式的无线通信(例如,蓝牙、近场通信等)可以在客户端设备104与***110之间发生,例如在移动电话或其他个人和/或移动设备的情况下经常发生的无线通信。
基于网络的***110可以包括一个或多个通信服务器120以提供合适的接口,该接口能够使用各种通信模式和/或通过一个或多个网络108进行通信。通信服务器120可以包括网络服务器122、API服务器124和/或消息传递服务器126,以向一个或多个应用服务器130提供接口。基于网络的***110的应用服务器130可以被构造、布置和/或配置为向与基于网络的***110通信的客户端设备提供各种在线服务。在各种实施例中,客户端设备104可以经由以下各项中的一项或多项与基于网络的***110的应用服务器130通信:由网络服务器122提供的网络接口、由API服务器124提供的编程接口、和/或由消息传递服务器126提供的消息传递接口。可以理解,网络服务器122、API服务器124和消息传递服务器126可以被构造、布置和/或配置为与各种类型的客户端设备104和/或客户端程序106进行通信,并且在一些实现方式中可以在彼此之间互操作。
网络服务器122可以被布置为与网络客户端和/或应用进行通信,例如网络浏览器、网络浏览器工具栏、桌面小工具、移动小工具、基于网络的应用、基于网络的解释器、虚拟机、移动应用等。API服务器124可以被布置为与包括用于基于网络的***110的API的实现方式的各种客户端程序106通信。消息传递服务器126可以被布置为与各种消息传递客户端和/或应用通信,例如电子邮件、IM、SMS、MMS、电话、VoIP、视频消息传递、IRC等等,并且消息传递服务器126可以提供消息传递接口以使客户端102能够访问应用由服务器130提供的各种服务和功能。
基于网络的***110的应用服务器130可以是提供各种服务的服务器,例如用于基于所收集的关于客户的信息来验证URL的工具。应用服务器130可以包括多个服务器和/或组件。例如,应用服务器130可以包括请求生成引擎132、响应生成引擎134、令牌生成引擎136和/或事件排队引擎138。这些服务器和/或组件(可能是其他服务器的补充)可以被构造和布置为实现OAUTH的双边令牌。
应用服务器130又可以耦合到一个或多个数据库140并且能够访问一个或多个数据库140,所述一个或多个数据库140包括***调用数据库142、应用数据库144和/或用户账户数据库146。根据所描述的实施例,数据库140通常可以存储和维护各种类型的信息以供应用服务器130使用,并且可以包括以下项或由以下项来实现:各种类型的计算机存储设备(例如,服务器、存储器)和/或数据库结构(例如,关系网络、面向对象的关系网络、分层关系网络、维度关系网络)。
图2以框图格式示出了示例性计算机***200,该计算机***适合于在图1中的计算***的一个或多个设备上实现。在各种实现方式中,包括计算机***200的设备可以包括能够与网络进行通信的个人计算设备(例如,智能或移动电话、平板电脑、个人计算机、膝上型电脑、可穿戴设备、PDA等)。服务提供商和/或内容提供商可以利用能够与网络进行通信的网络计算设备(例如,网络服务器)。应当理解,由用户、服务提供商和内容提供商使用的每个设备可以以如下方式而被实现为计算机***200。另外,随着越来越多的设备变得能够通信,例如使用无线通信来报告、跟踪消息、中继信息等的智能设备,这些设备可以是计算机***200的一部分。
计算机***200可以包括总线202或用于在计算机***200的各种组件之间传送信息数据、信号和信息的其他通信机制。组件包括输入/输出(I/O)控制器204,该控制器处理用户动作,例如从小键盘/键盘选择键、选择一个或多个按钮、链接、可致动元件等,并将对应的信号发送到总线202。I/O控制器204还可以包括输出组件,例如显示器206和光标控制208(例如,键盘、小键盘、鼠标、触摸屏等)。在一些示例中,I/O控制器204可以包括用于捕获图像和/或视频的图像传感器,例如互补金属氧化物半导体(CMOS)图像传感器等。还可以包括音频I/O组件210以允许用户通过转换音频信号来使用语音用于输入信息。音频I/O组件210可以允许用户听到音频。
收发器或网络接口212经由网络在计算机***200与其他设备(例如,其他用户设备、商家服务器、电子邮件服务器、应用服务提供商、网络服务器、支付提供商服务器和/或其他服务器)之间发送和接收信号。在各种实施例中,例如对于许多蜂窝电话和其他移动设备实施例,这种传输可以是无线的,但是其他传输介质和方法也可能是合适的。处理器214处理这些各种信号,例如用于在计算机***200上显示或经由通信链路218通过网络216传输到其他设备,处理器214可以是微控制器、数字信号处理器(DSP)或其他处理组件。同样,在一些实施例中,通信链路218可以是无线通信。处理器214还可以控制向其他设备传输信息,例如小型文本文件(cookies)、IP地址、图像等。
计算机***200的组件还包括***存储器220(例如,RAM)、静态存储组件222(例如,ROM)和/或磁盘驱动器224。计算机***200通过由处理器214和其他组件执行包含在***存储器220中的一个或多个指令序列来执行特定操作。逻辑可以编码在计算机可读介质中,该计算机可读介质可以指参与向处理器214提供指令以供执行的任何介质。这种介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和/或传输介质。在各种实现方式中,非易失性介质包括光盘或磁盘,易失性介质包括诸如***存储器220之类的动态存储器,并且传输介质包括同轴电缆、铜线和光纤,包括构成总线202的线路。在一个实施例中,逻辑被编码在非暂态机器可读介质中。在一个示例中,传输介质可以采用声波或光波的形式,例如在无线电波、光和红外数据通信期间生成的声波或光波。
一些常见形式的计算机可读介质包括,例如,软盘、软磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、任何其他光学介质、穿孔卡、纸带、任何其他具有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒式磁带、或适于计算机读取的任何其他介质。
在本公开的各种实施例中,用于实践本公开的指令序列的执行可以由计算机***200执行。在本公开的各种其他实施例中,多个计算机***200通过通信链路218耦合到网络(例如,LAN、WLAN、PTSN和/或各种其他有线或无线网络,包括电信、移动、以及蜂窝电话网络)并且可以执行指令序列以相互协调地实践本公开。本文描述的模块可以体现在一个或多个计算机可读介质中,或者与一个或多个处理器进行通信以执行或处理本文描述的技术和算法。
计算机***可以通过通信链路和通信接口来发送和接收消息、数据、信息和指令,包括一个或多个程序(即,应用代码)。接收到的程序代码可以由处理器执行,如接收到和/或存储在磁盘驱动器组件或一些其他非易失性存储组件中以供执行。
在适用的情况下,本公开提供的各种实施例可以使用硬件、软件或硬件和软件的组合来实现。此外,在适用的情况下,在不背离本公开的精神的情况下,本文阐述的各种硬件组件和/或软件组件可以组合成包括软件、硬件和/或两者的复合组件。在适用的情况下,在不背离本公开的范围的情况下,本文阐述的各种硬件组件和/或软件组件可以被分成包括软件、硬件和/或两者的子组件。另外,在适用的情况下,可以设想软件组件可以实现为硬件组件,反之亦然。
根据本公开的软件,例如程序代码和/或数据,可以存储在一个或多个计算机可读介质上。还可以设想,可以使用联网的和/或其他方式的一台或多台计算机和/或计算机***来实现本文中标识的软件。这样的软件可以在沿着或贯穿***的一个或多个位置、在客户端102、基于网络的***110或两者处被存储和/或使用。在适用的情况下,本文描述的各个步骤的顺序可以改变、组合成复合步骤和/或被分成子步骤以提供本文描述的特征。
前述网络、***、设备及其众多变型可用于实现一个或多个服务,例如上文和下文更详细讨论的服务。
图3图示了对用于实现OAUTH的双边令牌的示例性过程300的描述。继续上述示例,图3中的步骤是从认证服务器306的角度描述的,该认证服务器由向合作伙伴(例如,美国银行)提供用户账户信息的一方(例如,PayPal)来管理。在步骤312中,从合作伙伴应用服务器302向PayPal认证服务器306发送请求。该请求可包括客户端标识、客户端密钥、公共范围的指示和双向授权的指示,寻求来自PayPal认证服务器306的授权以访问某些用户信息。例如,当用户希望将他的PayPal账户链接到他的美国银行账户时,可能会发生该动作。美国银行可能首先经由美国银行应用或美国银行网站来提供用于链接账户的选项。一旦用户提示将PayPal链接回他的美国银行账户,就会从合作伙伴(即,美国银行)应用服务器302向PayPal认证服务器306发送请求。
在一些实施例中,PayPal认证服务器306将基于合作伙伴配置文件来验证双向授权是可允许的。例如,PayPal必须确定其合作伙伴(例如,美国银行)有权向PayPal请求双向授权。替代地或附加地,双向授权验证可以基于特定的用户账户来确定。在一些实例中,可能会考虑用户的偏好以确定是否允许对该用户的账户进行双向授权。
在一些实施例中,由PayPal发出请求以授权该交换。例如,用户可能已经登录到他的PayPal账户(例如,在正在操作的浏览器上或在移动设备上运行的本机应用中,用户也已登录该浏览器或本机应用),因此不需要额外的授权,除非预定义的规则经由PayPal应用或浏览器触发额外的安全性。替代地,如果用户尚未登录,则可能会在授权发生之前提示用户输入凭证。
一旦授权,在步骤314中,从PayPal认证服务器306向合作伙伴应用服务器302返回响应。该响应包括访问令牌,当合作伙伴拥有该令牌时,合作伙伴可以使用该令牌来访问某些用户账户信息。访问限制(即,合作伙伴可以访问哪些信息的指示)由请求中指示的公共范围来定义。因此,除非合作伙伴被授权获得用户账户信息,否则合作伙伴可能无法自由支配PayPal拥有的所有用户账户信息。
在步骤316中,在PayPal认证服务器306将响应发送到合作伙伴应用服务器302的同时,将响应写入到事件队列引擎308。在一些实例中,PayPal认证服务器306检测到该请求提供了正在寻求双向授权的指示,因而触发了写入操作。事件包括对合作伙伴和公共范围的标识。事件还可以包括PayPal认证服务器306已经向合作伙伴应用服务器302提供了令牌并且正在寻求双向授权的指示。
事件队列可由PayPal中的多个其他应用访问。例如,PayPal应用服务器310可以监听事件队列上的某些事件。在这种情况下,PayPal应用服务器310可以在步骤318中检测到包括访问令牌的响应被从PayPal认证服务器306发送到合作伙伴应用服务器302。还可以检测到请求包括双向授权。在一些实施例中,发布的事件可以是这样的消息:当被PayPal应用服务器310拾取时,该消息建议向合作伙伴认证服务器304发送对互相访问令牌的请求。因此,请求被从PayPal应用服务器310发送到合作伙伴认证服务器304。该请求可以类似地包括客户端标识、客户端密钥和公共范围。然而,与前一个请求不同的是,该请求不会指示双向授权,因为该请求是该双向授权的后端。
如上所指出的,公共范围提供了对PayPal将向合作伙伴提供多少用户账户信息的定义。在一些实施例中,当生成双边令牌时,范围是对称的。换句话说,PayPal与其合作伙伴共享的任何信息字段都将由合作伙伴共享回PayPal。这种对称性可能特别有用,因为不同的人可能出于不同的目的使用不同的账户。例如,如果创建双边令牌以在用户的Facebook与Linkedin账户之间交叉共享信息,则每一者提供的不同类型的信息可以组合起来构建相当全面的配置文件,其中Facebook提供更具社交性的数据而Linkedin提供具专业性的信息。
替代地,令牌可以定义每个合作伙伴向对应的合作伙伴提供的不同级别的访问。例如,如果用户不希望将来自专业论坛的联系人添加到社交论坛中的联系人,则用户可能不希望与他的Facebook账户共享他的Linkedin连接。因此,用户可以从公共范围的角度定义令牌的样子,并且这种关系本质上可能是不对称的。
在一些实施例中,客户端标识和客户端密钥对于每一方可以是唯一的。例如,PayPal将拥有一组客户端标识和客户端密钥,而合作伙伴拥有与PayPal的不同的另一组。因此,为了完成此过程,要求合作伙伴相互获取一定量的信息,因为客户端标识和客户端密钥通常特定于组织。
在一些实施例中,可以使用PayPal及其(一个或多个)合作伙伴共有的第三方认证服务器来生成令牌。例如,认证服务器可以生成和维护公共令牌。公共令牌的一个特性是PayPal及其合作伙伴都可以解码访问令牌,并根据访问令牌来确定客户端是谁以及两个合作伙伴共享的公共范围是什么。
可以替代地考虑基于区块链的方法,而不是使用第三方授权。同样在这种方法中,双方各自发行一个令牌,但它们被写入到必须同步的合作伙伴-PayPal区块链。图4图示了用于使用区块链来实现OAUTH的双边令牌的可替代示例性过程400。基于区块链的方法与图3中描述的过程基本类似,不同之处在于不是将访问令牌从一方的认证服务器发送到另一方的应用服务器,而是将令牌写入区块链。例如,在步骤416中,从合作伙伴应用服务器402向PayPal认证服务器410发送请求。该请求可以包括客户端标识、客户端密钥、公共范围指示和双向授权指示。另外,请求可以包括共享的用户标识,用于唯一标识区块链上的用户。
如上面参照图3所指出的,合作伙伴寻求来自PayPal认证服务器410的授权以访问某些用户信息。当用户希望将其PayPal账户链接到合作伙伴账户(例如,用户的美国银行账户)时,可以发生此动作。当用户提示链接两个账户时,将该请求从合作伙伴(即,美国银行)应用服务器402发送到PayPal认证服务器410。
一旦授权,在步骤418中,从PayPal认证服务器410向合作伙伴应用服务器402返回响应,指示成功授权。在发送响应的同时,在步骤420中,PayPal认证服务器410还将访问令牌写入到合作伙伴-PayPal共享区块链408的PayPal节点。在将访问令牌写入到合作伙伴-PayPal共享区块链的PayPal节点之后,在步骤422中,区块链与合作伙伴-PayPal共享区块链406的合作伙伴节点同步。在一些实施例中,这种同步可以周期性地发生。替代地,可以在每次将数据写入到合作伙伴-PayPal共享区块链时执行同步。
一旦同步,在步骤424中,合作伙伴应用服务器402从合作伙伴-PayPal共享区块链406的合作伙伴节点读取访问令牌。写入到合作伙伴-PayPal共享区块链的每个访问令牌都可以包括一些促进识别访问所指对象的信息。例如,访问令牌可以包括客户端标识、客户端密钥和共享用户标识的一些组合。在读取区块链时,在步骤426中,合作伙伴应用服务器402能够从合作伙伴-PayPal共享区块链406的合作伙伴节点获得访问令牌。
在访问令牌被写入到合作伙伴-PayPal共享区块链408的PayPal节点的同时或大约同时,由PayPal认证服务器410将事件写入到事件队列引擎412。所写入的事件包括合作伙伴标识和公共范围,并且可以提供PayPal认证服务器410已向合作伙伴-PayPal共享区块链408的PayPal节点提供令牌并且正寻求双向授权的指示。
在步骤430中,PayPal应用服务器414可以检测到包括访问令牌的响应被从PayPal认证服务器410发送到合作伙伴-PayPal共享区块链408的PayPal节点。还可以检测到请求包括双向授权。因此,请求被从PayPal应用服务器414发送到合作伙伴认证服务器404。该请求可以类似地包括客户端标识、客户端密钥、共享的用户标识和公共范围。然而,该请求将指示不寻求双向授权,因为该请求是该双向授权的后端。
在接收到来自PayPal应用服务器414的请求之后,在步骤434中,从合作伙伴认证服务器404向PayPal应用服务器414返回指示成功授权的响应。在发送响应的同时,在步骤436中,合作伙伴认证服务器404还将访问令牌写入到合作伙伴-PayPal共享区块链406的合作伙伴节点。在将访问令牌写入到合作伙伴-PayPal共享区块链的合作伙伴节点之后,在步骤438中,区块链与合作伙伴-PayPal共享区块链408的PayPal节点同步。
一旦同步,在步骤440中,PayPal应用服务器414从合作伙伴-PayPal共享区块链408的PayPal节点读取访问令牌。写入到合作伙伴-PayPal共享区块链的每个访问令牌都可以如上文所指出地包括一些促进识别访问所指对象的信息。例如,访问令牌可以包括客户端标识、客户端密钥和共享用户标识的一些组合。在读取区块链时,在步骤442中,PayPal应用服务器414能够从合作伙伴-PayPal共享区块链408的PayPal节点获得访问令牌。一旦PayPal和合作伙伴获得了访问令牌,用户账户信息就可以在PayPal与合作伙伴之间进行交易,仅受公共范围的限制。
将访问令牌写入公共区块链的一个优点是访问令牌不会通过线路发送。换句话说,访问令牌不是通过标准的超文本传输协议(http)响应发送的。此外,访问令牌不受任何一方的控制。这些元素提供了额外的安全元素,这些元素在常规通信信道中不一定可用。
虽然上述描述是将PayPal作为交换令牌、授权和信息的中心组织来提供的,但可以理解,该过程可以应用于/适用于任何两个或更多个拥有用户账户信息并希望共享此类信息的合作伙伴组织。例如,Facebook可以向第三方提供授权工具,使得第三方就不必构建自己的授权工具。只要第三方认为Facebook是可信来源,就可以选择依赖Facebook进行授权。
上述用户设备(即,计算设备)可以是多种设备之一,包括但不限于智能手机、平板电脑、膝上型电脑和一副增强现实眼镜。这些设备中的每一个都体现了一些处理能力和连接到网络(例如,互联网、LAN、WAN等)的能力。每个设备还包括用于显示各种信息的显示元件。移动通信中这些特征(显示元件、处理能力和连接性)的组合使用户能够执行各种基本和有用的功能。
提供前述描述以使本领域技术人员能够实践本文描述的各种配置。尽管已经参照各种附图和配置特别描述了本主题技术,但应该理解这些仅用于说明目的并且不应被视为限制本主题技术的范围。
可以有许多其他方式来实现本主题技术。在不脱离本主题技术的范围的情况下,本文描述的各种功能和元件可以与所示出的那些不同地划分。对这些配置的各种修改对于本领域技术人员来说将是显而易见的,并且本文定义的一般原理可以应用于其他配置。因此,本领域普通技术人员可以对本主题技术进行许多改变和修改,而不脱离本主题技术的范围。
应当理解,所公开的过程中的步骤的特定顺序或层次是示例性方法的说明。基于设计偏好,可以理解的是,可以重新布置过程中步骤的特定顺序或层次。一些步骤可以同时执行。所附的方法权利要求以示例顺序呈现各个步骤的元素,并且不意味着限于呈现的特定顺序或层次。
例如“方面”之类的短语并不意味着这样的方面对于本主题技术是必不可少的,或者这样的方面适用于本主题技术的所有配置。涉及一个方面的公开内容可以应用于所有配置、或者一个或多个配置。一个方面可以提供本公开的一个或多个示例。诸如“方面”之类的短语可以指代一个或多个方面,反之亦然。诸如“实现方式”之类的短语并不意味着这样的实现方式对于本主题技术是必不可少的,或者这样的实现方式适用于本主题技术的所有配置。涉及一个实现方式的公开内容可以应用于所有实现方式、或者一个或多个实现方式。一个实现方式可以提供本公开的一个或多个示例。诸如“实现方式”之类的短语可以指代一个或多个实现方式,反之亦然。诸如“配置”之类的短语并不意味着这样的配置对于本主题技术是必不可少的,或者这样的配置适用于本主题技术的所有配置。涉及一个配置的公开内容可以应用于所有配置、或者一个或多个配置。一个配置可以提供本公开的一个或多个示例。诸如“配置”之类的短语可以指代一个或多个配置,反之亦然。
此外,就描述或权利要求中使用的术语“包括”、“具有”和“等”而言,这些术语旨在以类似于术语“包括”的方式而为包括性的,如同“包括”在用作权利要求中的过渡词时所解释的。
“示例性”一词在本文中用于表示“作为示例、实例或说明”。本文中描述为“示例性”的任何实现方式不一定被解释为优于或先进于其他实现方式。
除非特别说明,否则对单数元素的引用并不意味着“一个且只有一个”,而是“一个或多个”。术语“一些”是指一个或多个。通篇描述的各种配置的元件的所有结构和功能等价物为本领域普通技术人员知晓或以后将知晓的,并且均通过引用明确并入本文并且旨在被本主题技术所涵盖。而且,本文所公开的任何内容均不旨在向公众提供,无论这样的公开内容是否明确记载在上述描述中。
Claims (20)
1. 一种用于实现开放授权(OAUTH)的双边令牌的***,包括:
非暂态存储器,存储指令;以及
一个或多个硬件处理器,耦合到所述非暂态存储器并被配置为从所述非暂态存储器读取所述指令,以使所述***执行包括以下操作的操作:
在主机认证服务器处接收合作伙伴应用服务器访问由主机服务器拥有的用户账户的第一用户账户信息的第一请求;
在接收到共享所述第一用户账户信息的授权之后,向所述合作伙伴应用服务器返回响应,所述响应包括访问令牌,其中所述访问令牌能够被所述合作伙伴应用服务器使用来以第一级别访问所述第一用户账户信息;以及
响应于向所述合作伙伴应用服务器返回所述响应,将事件写入到事件队列,所述事件提供对所述访问的请求被接收并且具有所述访问令牌的对应响应被返回的指示,
其中,所述事件在由主机应用服务器读取时,指示所述主机应用服务器向合作伙伴认证服务器提交对互相访问令牌的第二请求,其中所述互相访问令牌能够被所述主机应用服务器使用来以与所述第一级别不同的第二级别访问由所述合作伙伴应用服务器拥有的所述用户账户的第二用户账户信息。
2.根据权利要求1所述的***,其中,所述互相访问令牌在被所述主机应用服务器使用时,授权所述主机应用服务器访问由所述合作伙伴应用服务器拥有的第二用户账户信息。
3.根据权利要求1所述的***,其中,所述第一请求包括以下各项中的至少一项:客户端标识、客户端密钥、公共范围的指示和双向授权的指示。
4.根据权利要求3所述的***,其中,所述公共范围定义所述主机服务器拥有的、能够由所述合作伙伴应用服务器访问的用户账户信息的量。
5.根据权利要求3所述的***,其中,所述公共范围能够由与用户账户信息相对应的用户来确定。
6.根据权利要求5所述的***,其中,所述公共范围为第一公共范围,并且其中,所述第二请求包括第二公共范围,并且其中,所述第一公共范围和所述第二公共范围不对称。
7.根据权利要求3所述的***,其中,所述客户端标识唯一地标识与所述主机服务器上的用户账户信息相对应的用户,并且其中,所述客户端密钥能够用于指示对所述合作伙伴应用服务器链接到所述用户账户信息的授权。
8.一种用于实现OAUTH的双边令牌的方法,包括:
在主机认证服务器处接收合作伙伴应用服务器访问由主机服务器拥有的用户账户的第一用户账户信息的第一请求;
在接收到共享所述第一用户账户信息的授权之后,向所述合作伙伴应用服务器返回响应,所述响应包括访问令牌,其中所述访问令牌能够被所述合作伙伴应用服务器使用来以第一级别访问所述第一用户账户信息;以及
响应于向所述合作伙伴应用服务器返回所述响应,将事件写入到事件队列,所述事件提供对所述访问的请求被接收并且具有所述访问令牌的对应响应被返回的指示,
其中,所述事件在由主机应用服务器读取时,指示所述主机应用服务器向合作伙伴认证服务器提交对互相访问令牌的第二请求,其中所述互相访问令牌能够被所述主机应用服务器使用来以与所述第一级别不同的第二级别访问由所述合作伙伴应用服务器拥有的所述用户账户的第二用户账户信息。
9.根据权利要求8所述的方法,其中,所述互相访问令牌在被所述主机应用服务器使用时,授权所述主机应用服务器访问由所述合作伙伴应用服务器拥有的第二用户账户信息。
10.根据权利要求8所述的方法,其中,所述第一请求包括以下各项中的至少一项:客户端标识、客户端密钥、公共范围的指示和双向授权的指示。
11.根据权利要求10所述的方法,其中,所述公共范围定义所述主机服务器拥有的、能够由所述合作伙伴应用服务器访问的用户账户信息的量。
12.根据权利要求10所述的方法,其中,所述公共范围能够由与用户账户信息相对应的用户来确定。
13.根据权利要求12所述的方法,其中,所述公共范围为第一公共范围,并且其中,所述第二请求包括第二公共范围,并且其中,所述第一公共范围和所述第二公共范围不对称。
14.根据权利要求10所述的方法,其中,所述客户端标识唯一地标识与所述主机服务器上的用户账户信息相对应的用户,并且其中,所述客户端密钥能够用于指示对所述合作伙伴应用服务器链接到所述用户账户信息的授权。
15.一种非暂态机器可读介质,其上存储有机器可读指令,所述机器可读指令能够被执行,以使执行包括以下操作的操作:
在主机认证服务器处接收合作伙伴应用服务器访问由主机服务器拥有的用户账户的第一用户账户信息的第一请求;
在接收到共享所述第一用户账户信息的授权之后,向所述合作伙伴应用服务器返回响应,所述响应包括授权成功的指示;
向主机-合作伙伴共享区块链的主机节点写入访问令牌,其中,所述访问令牌在被写入到所述主机-合作伙伴共享区块链的所述主机节点之后,所述访问令牌被同步到所述主机-合作伙伴共享区块链的合作伙伴节点,并且其中,所述访问令牌在被同步到所述主机-合作伙伴共享区块链的所述合作伙伴节点之后,所述访问令牌能够被所述合作伙伴应用服务器使用来以第一级别访问所述第一用户账户信息;
响应于向所述主机-合作伙伴共享区块链的所述主机节点写入所述访问令牌,进一步将事件写入到事件队列,所述事件提供对所述访问的请求被接收并且访问令牌被写入到所述主机-合作伙伴共享区块链的所述主机节点的指示,
其中,所述事件在由主机应用服务器读取时,指示所述主机应用服务器向合作伙伴认证服务器提交对互相访问令牌的第二请求,其中所述互相访问令牌能够被所述主机应用服务器使用来以与所述第一级别不同的第二级别访问由所述合作伙伴应用服务器拥有的所述用户账户的第二用户账户信息。
16.根据权利要求15所述的非暂态机器可读介质,其中,所述合作伙伴认证服务器响应于接收到所述第二请求,将所述互相访问令牌写入到所述主机-合作伙伴共享区块链的所述合作伙伴节点。
17.根据权利要求16所述的非暂态机器可读介质,其中,所述互相访问令牌在被写入到所述主机-合作伙伴共享区块链的所述合作伙伴节点之后,所述互相访问令牌被同步到所述主机-合作伙伴共享区块链的主机节点,并且其中,所述互相访问令牌在被同步到所述主机-合作伙伴共享区块链的所述主机节点之后,所述互相访问令牌能够被所述主机应用服务器访问。
18.根据权利要求16所述的非暂态机器可读介质,其中,所述第一请求包括以下各项中的至少一项:客户端标识、客户端密钥、公共范围的指示和双向授权的指示。
19.根据权利要求18所述的非暂态机器可读介质,其中,所述公共范围定义所述主机服务器拥有的、能够由所述合作伙伴应用服务器访问的用户账户信息的量。
20.根据权利要求18所述的非暂态机器可读介质,其中,所述客户端标识唯一地标识与所述主机服务器上的用户账户信息相对应的用户,并且其中,所述客户端密钥能够用于指示对所述合作伙伴应用服务器链接到所述用户账户信息的授权。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/563,851 US11153088B2 (en) | 2019-09-07 | 2019-09-07 | System and method for implementing a two-sided token for open authentication |
US16/563,851 | 2019-09-07 | ||
PCT/US2020/049456 WO2021046387A1 (en) | 2019-09-07 | 2020-09-04 | System and method for implementing a two-sided token for open authentication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114667711A CN114667711A (zh) | 2022-06-24 |
CN114667711B true CN114667711B (zh) | 2024-02-13 |
Family
ID=74849810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080062564.1A Active CN114667711B (zh) | 2019-09-07 | 2020-09-04 | 用于实现开放授权的双边令牌的***和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11153088B2 (zh) |
EP (1) | EP4026298A4 (zh) |
CN (1) | CN114667711B (zh) |
AU (1) | AU2020343666B2 (zh) |
WO (1) | WO2021046387A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220284527A1 (en) * | 2021-03-04 | 2022-09-08 | Cheri Williams-Franklin | Asset Documentation and Notification System |
CN117806820A (zh) * | 2021-07-02 | 2024-04-02 | 支付宝(杭州)信息技术有限公司 | 数据处理方法及装置 |
CA3236147A1 (en) * | 2021-10-22 | 2023-04-27 | Akoya LLC | Systems and methods for managing tokens and filtering data to control data access |
US11379614B1 (en) | 2021-10-22 | 2022-07-05 | Akoya LLC | Systems and methods for managing tokens and filtering data to control data access |
US11496483B1 (en) * | 2021-10-22 | 2022-11-08 | Akoya LLC | Systems and methods for managing tokens and filtering data to control data access |
US11379617B1 (en) | 2021-10-22 | 2022-07-05 | Akoya LLC | Systems and methods for managing tokens and filtering data to control data access |
US11373000B1 (en) | 2021-10-22 | 2022-06-28 | Akoya LLC | Systems and methods for managing tokens and filtering data to control data access |
US11641357B1 (en) * | 2021-10-22 | 2023-05-02 | Akoya LLC | Systems and methods for managing tokens and filtering data to control data access |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022875A (zh) * | 2013-03-01 | 2014-09-03 | 中兴通讯股份有限公司 | 一种双向授权***、客户端及方法 |
CN104255007A (zh) * | 2011-09-29 | 2014-12-31 | 甲骨文国际公司 | Oauth框架 |
CN110036386A (zh) * | 2016-11-28 | 2019-07-19 | 维萨国际服务协会 | 供应到应用程序的访问标识符 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102510B2 (en) * | 2012-11-28 | 2018-10-16 | Hoverkey Ltd. | Method and system of conducting a cryptocurrency payment via a mobile device using a contactless token to store and protect a user's secret key |
GB201221433D0 (en) * | 2012-11-28 | 2013-01-09 | Hoverkey Ltd | A method and system of providing authentication of user access to a computer resource on a mobile device |
US9374369B2 (en) * | 2012-12-28 | 2016-06-21 | Lookout, Inc. | Multi-factor authentication and comprehensive login system for client-server networks |
CN107666505B (zh) * | 2016-07-29 | 2020-09-15 | 京东方科技集团股份有限公司 | 对资源接入进行控制的方法和装置 |
US10691514B2 (en) * | 2017-05-08 | 2020-06-23 | Datapipe, Inc. | System and method for integration, testing, deployment, orchestration, and management of applications |
AU2018309748A1 (en) | 2017-08-01 | 2020-03-19 | Digital Asset (Switzerland) GmbH | Method and apparatus for automated committed settlement of digital assets |
US10884909B1 (en) * | 2018-11-14 | 2021-01-05 | Intuit Inc. | Code release with automatic callback |
-
2019
- 2019-09-07 US US16/563,851 patent/US11153088B2/en active Active
-
2020
- 2020-09-04 AU AU2020343666A patent/AU2020343666B2/en active Active
- 2020-09-04 WO PCT/US2020/049456 patent/WO2021046387A1/en active Application Filing
- 2020-09-04 EP EP20860688.9A patent/EP4026298A4/en active Pending
- 2020-09-04 CN CN202080062564.1A patent/CN114667711B/zh active Active
-
2021
- 2021-09-30 US US17/490,707 patent/US11601275B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104255007A (zh) * | 2011-09-29 | 2014-12-31 | 甲骨文国际公司 | Oauth框架 |
CN104022875A (zh) * | 2013-03-01 | 2014-09-03 | 中兴通讯股份有限公司 | 一种双向授权***、客户端及方法 |
CN110036386A (zh) * | 2016-11-28 | 2019-07-19 | 维萨国际服务协会 | 供应到应用程序的访问标识符 |
Non-Patent Citations (2)
Title |
---|
"Reciprocal OAuth draft-ietf-oauth-reciprocal-04".2019,1-8. * |
The OAuth 2.0 Authorization Framework.2012,1-76. * |
Also Published As
Publication number | Publication date |
---|---|
US20210075613A1 (en) | 2021-03-11 |
US11153088B2 (en) | 2021-10-19 |
AU2020343666B2 (en) | 2023-03-16 |
WO2021046387A1 (en) | 2021-03-11 |
AU2020343666A1 (en) | 2022-03-31 |
CN114667711A (zh) | 2022-06-24 |
EP4026298A4 (en) | 2023-07-05 |
EP4026298A1 (en) | 2022-07-13 |
US11601275B2 (en) | 2023-03-07 |
US20220021539A1 (en) | 2022-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114667711B (zh) | 用于实现开放授权的双边令牌的***和方法 | |
KR102511811B1 (ko) | 봇 사용자를 안전하게 인증하는 기법 | |
US11805129B2 (en) | Fictitious account generation on detection of account takeover conditions | |
TWI761385B (zh) | 設備配置方法及裝置、系統 | |
US11900378B2 (en) | System and method for providing merchant in-context checkout | |
US11526864B2 (en) | Alternative service access | |
AU2022203509B2 (en) | Using ephemeral URL passwords to deter high-volume attacks | |
US11665199B2 (en) | Using cloned accounts to track attacks on user accounts | |
US20210312446A1 (en) | Detecting malware by monitoring client-side memory stacks | |
US11562359B2 (en) | System and method for performing financial transactions using a wireless personal assistant | |
US11087295B2 (en) | System and method for private data transactions |
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 |