CN112583784B9 - 应用编程接口授权转换*** - Google Patents
应用编程接口授权转换*** Download PDFInfo
- Publication number
- CN112583784B9 CN112583784B9 CN202010846436.8A CN202010846436A CN112583784B9 CN 112583784 B9 CN112583784 B9 CN 112583784B9 CN 202010846436 A CN202010846436 A CN 202010846436A CN 112583784 B9 CN112583784 B9 CN 112583784B9
- Authority
- CN
- China
- Prior art keywords
- session
- user
- token
- party application
- access
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 160
- 238000006243 chemical reaction Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000004044 response Effects 0.000 claims abstract description 45
- 230000009471 action Effects 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 28
- 230000015654 memory Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012508 change request Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
-
- 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/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/084—Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
提供了用于转换针对UX会话的API授权的***和方法。授权服务器从第三方开发的第三方应用接收代表用户访问用户体验(UX)会话的请求。该请求包括授权服务器响应于用户同意允许第三方应用代表自己执行动作而向第三方应用先前授予的访问令牌。在一个实施例中,该先前授权包括开放授权(OAuth)。响应于接收到该请求,授权服务器将访问令牌转换为带有会话令牌的单点登录(SSO)链接。然后,授权服务器返回该SSO链接,该SSO链接包括由第三方托管的第三方应用的会话令牌。SSO链接使第三方应用将用户重定向到与SSO链接相对应的UX会话。
Description
技术领域
本文公开的主题通常涉及被配置为授权对网络***的访问的机器,并且涉及与授权对网络***的访问的其他机器相比,改进了这种专用机器的技术。具体地,本公开解决了转换API授权以访问UX会话或从网络***的内部服务获得响应的***和方法。
背景技术
按照惯例,第三方开发人员具有对网络***的公共应用编程接口(API)的访问。通常,第三方开发人员通过利用公共API在自己这一侧构建用户接口(例如,第三方应用)。然而,在一些情况下,第三方应用需要网络***上存在的体验能力。
第三方应用的用户通过第三方软件工具(例如,第三方应用)登录到网络***,并被授予开放授权(OAuth)令牌,该令牌授权第三方应用代表用户调用网络***API。当用户想要访问第三方应用不支持的服务/功能时,用户通常被重定向到网络***,其中,用户被请求再次登录以访问托管该服务/功能的网络***处的页面。
发明内容
根据本发明的一方面,提供了一种方法,包括:
在授权服务器处从第三方开发的第三方应用接收代表用户访问用户体验UX会话的请求,所述请求包括所述授权服务器响应于所述用户同意允许所述第三方应用代表所述用户执行动作而向所述第三方应用先前授予的访问令牌;
响应于接收到所述请求,并且基于所述访问令牌,由所述授权服务器将所述访问令牌转换为带有会话令牌的单点登录SSO链接;以及
由所述授权服务器将带有所述会话令牌的所述SSO链接发送给所述第三方开发的所述第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的所述UX会话。
根据本发明的另一方面,提供了一种***,包括:
一个或多个硬件处理器;以及
存储指令的存储设备,所述指令在由所述一个或多个硬件处理器执行时使所述一个或多个硬件处理器执行包括以下各项的操作:
从第三方开发的第三方应用接收代表用户访问用户体验UX会话的请求,所述请求包括响应于所述用户同意允许所述第三方应用代表所述用户执行动作而向所述第三方应用先前授予的访问令牌;
响应于接收到所述请求,并且基于所述访问令牌,将所述访问令牌转换为带有会话令牌的单点登录SSO链接;以及
将带有所述会话令牌的所述SSO链接发送给所述第三方开发的所述第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的所述UX会话。
根据本发明的又一方面,提供了一种存储指令的机器可读存储介质,所述指令在由机器的一个或多个处理器执行时使所述一个或多个处理器执行包括以下各项的操作:
在授权服务器处从第三方开发的第三方应用接收代表用户访问用户体验UX会话的请求,所述请求包括所述授权服务器响应于所述用户同意允许所述第三方应用代表所述用户执行动作而向所述第三方应用先前授予的访问令牌;
响应于接收到所述请求,并且基于所述访问令牌,由所述授权服务器将所述访问令牌转换为带有会话令牌的单点登录SSO链接;以及
由所述授权服务器将带有所述会话令牌的所述SSO链接发送给所述第三方开发的所述第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的所述UX会话。
附图说明
各个所附附图仅示出了本发明的示例实施例,并且不可以被认为限制其范围。
图1是示出了根据一些示例实施例的适合于提供用于转换API授权以访问网络***的功能或服务而无需第二次登录的***的网络环境的图。
图2是示出了根据一些示例实施例的授权***的组件的框图。
图3是示出了根据一些示例实施例的用于获得API授权并使用API授权以访问UX会话的通信流程的图。
图4是示出了根据一些示例实施例的用于转换API授权以访问UX会话而无需第二次登录的方法的操作的流程图。
图5是示出了网络***中的服务层的图。
图6是示出了根据一些示例实施例的用于跨授权域转换授权范围以获得内部服务响应的通信流程的图。
图7是示出了根据一些示例实施例的用于跨授权域转换授权范围以获得内部服务响应的方法的操作的流程图。
图8是示出了根据一些示例实施例的能够从机器存储介质中读取指令并执行本文所讨论的方法中的任何一个或多个的机器的组件的框图。
具体实施方式
以下描述包括体现本发明主题的说明性实施例的***、方法、技术、指令序列和计算机器程序产品。在下文的描述中,出于解释的目的,阐述了很多具体细节以提供对本发明主题的各种实施例的理解。然而,对本领域技术人员将显而易见的是,本发明主题的实施例可以在没有这些具体细节的一些或其他细节的情况下实施。一般而言,对公知的指令实例、协议、结构和技术不进行详细说明。示例只是代表可能的变化。除非另行明确说明,否则结构(例如,结构组件(例如模块))是可选的,并且可以被组合或细分,并且操作(例如,在过程、算法或其他功能中)可以按顺序变化或者被组合或细分。
网络***向第三方开发人员提供公共API,这些第三方开发人员通常利用公共API在自己这一侧构建用户接口。然而,在一些情况下,需要网络***上存在的能力。例如,目录API可以使第三方开发人员开发的第三方应用能够搜索网络***的目录以获得产品数据。如果存在更新目录的建议,则可以将用户从第三方应用(例如,第三方体验)重定向到网络***的体验。用户利用网络***进行登录并经过授权流程,以授权第三方应用访问用户的数据。这使第三方应用能够代表用户调用API。对于作为从第三方应用重定向后用户可用的网络***体验的一部分的能力,理想情况下无摩擦单点登录(SSO)和在网络***侧已建立的会话已经到位,由此在授权流程期间授予的权限被映射到控制在会话期间访问的权限。
在一些实施例中,需要访问内部服务以引起响应。公共API是编排器,其通过利用细粒度的内部能力来构建响应。这样的微服务具有其自己的授权方案,因此在调用内部服务时应适当授权公共API。因此,一旦这些API被授权,就将在授权流程中授予的权限映射到封装在呈现给内部服务的内部访问令牌中的内部服务权限。提供了来自内部服务的随后的响应,这些响应符合那些内部服务权限。
结果,本公开提供了对如下技术问题的两种技术解决方案:如何将在一个名称空间“域”中授予的授权转换到另一域。在示例实施例中,授权域是控制对网络***中的一组资源和能力的授权的权限组。示例实施例使用标准开放授权(OAuth)2.0协议来授权对两个分离域中的资源的访问:1)公共API(例如,由授权的第二和第三方开发人员调用)和2)内部Web服务(例如,由网络***拥有的应用调用)。在一些实施例中,API授权被转换为对访问用户体验(UX)会话的授权,而在其他实施例中,API授权被转换为对访问内部服务以引起响应的授权。
因此,一些示例实施例针对的是在网络***处管理对用户体验(UX)会话的访问的网络***,该网络***不需要用户必须利用网络***执行第二次登录。为了提供无摩擦的体验,示例实施例利用由用户执行并由第三方应用促进的初始登录,以在用户希望访问通过第三方应用不可用的UX会话(例如,网络***的功能)时绕过用户的第二次登录。在示例实施例中,初始登录是开放授权(OAuth)过程,由此用户登录并向第三方应用提供同意代表用户来调用网络***API。
在这些实施例中,用于认证和重定向用户的SSO链接用于访问UX会话。因此,一旦用户利用OAuth过程已授权第三方应用代表用户调用网络***API,第三方应用就被授予包括用户的权限的访问令牌(也称为“OAuth令牌”)。如果用户需要访问第三方应用不支持的网络***的服务,则第三方应用与和网络***相关联的授权服务器交换访问令牌以获得SSO链接。授权服务器生成包括会话令牌的SSO链接并将其发送回第三方应用。然后,第三方应用使用包括会话令牌的SSO链接将用户重定向到UX会话。
用户访问的UX会话是基于最初在访问令牌中找到的用户权限来确定的。授权服务器将访问令牌中的权限映射到UX会话的权限设置,因此呈现给用户的UX会话仅提供用户和第三方应用有权限访问的服务。因此,在这些实施例中的转换是针对UX会话的API授权的转换而无需用户第二次登录。
在备选实施例中,转换是针对在一个域中授予的授权到另一域的转换以便获得内部服务响应。在这些实施例中,API从第三方应用接收OAuth令牌以及API请求。API确定需要访问内部服务以便响应API请求。因此,API与授权***交换OAuth令牌以获得内部访问令牌,该内部访问令牌已映射从OAuth令牌获得的权限。然后,内部访问令牌与内部服务请求一起被发送到内部服务,该内部服务在内部访问令牌的权限内做出响应。然后,将该响应格式化并作为API响应返回给第三方应用。
例如,爱丽丝(Alice)是网络***上的卖方,并且鲍勃(Bob)是提供多渠道销售工具的开发人员。爱丽丝是鲍勃的客户。鲍勃的软件工具(例如第三方应用)与网络***的目录API集成,并允许爱丽丝搜索产品并查看产品细节。当爱丽丝通过鲍勃的软件工具登录其网络***帐户时,她在公共API“域”中被授予OAuth令牌,该令牌授权鲍勃的软件工具代表她调用目录API。鲍勃的体验不支持产品改变。因此,当爱丽丝想建议对产品目录的更新时,鲍勃的软件工具将流程重定向到网络***。为了避免要求爱丽丝再次登录并实现尽可能多的无摩擦体验,鲍勃的软件工具与网络***的授权服务集成,以用爱丽丝的OAuth令牌换取SSO链接。该SSO链接包括建立会话并让爱丽丝通过网络***UX导航以提交她的目录改变请求所需的信息。一旦完成,爱丽丝就被重定向回鲍勃的软件工具,并继续管理她的库存。
因此,本公开提供了对如下技术问题的技术解决方案:如何将在一个名称空间“域”中授予的授权转换到另一域。在一些实施例中,转换是针对UX会话的API授权的转换而无需用户第二次登录。在一些实施例中,转换是针对内部访问令牌的API授权的转换以从内部服务获得响应。结果,本文描述的一种或多种方法促进解决与必须执行多个授权过程以访问网络***的服务或功能相关联的技术问题。结果,可以减少(例如在环境中的)一个或多个机器、数据库或设备使用的资源。这样的计算资源的示例包括处理器周期、网络流量、存储器使用、数据存储容量、功耗、网络带宽以及冷却能力。
参考图1,示出了网络环境100的示例实施例,该网络环境100提供了用于转换API授权以访问网络***(例如,UX会话或内部服务)而无需第二次登录的***。网络***102经由通信网络104(例如,互联网、无线网络、蜂窝网络或广域网(WAN))向包括第三方设备106和用户设备108在内的多个用户设备提供服务器侧功能。
第三方设备106和用户设备108经由与网络104的连接与联网***102对接。取决于第三方设备106和用户设备108中的每一个的形式,可以使用各种类型的连接和网络104中的任何一种。例如,连接可以是码分多址(CDMA)连接、全球移动通信***(GSM)连接或另一类型的蜂窝连接。这样的连接可以实现多种类型的数据传输技术(例如单载波无线传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线业务(GPRS)技术、GSM演进的增强数据速率(EDGE)技术或其他数据传输技术(例如,***无线、4G网络))中的任何一种。当采用这种技术时,网络104可以包括蜂窝网络,该蜂窝网络具有通过蜂窝电话交换机互连的重叠地理覆盖的多个小区站点。这些蜂窝电话交换机可以耦合到网络主干网(例如,公共交换电话网(PSTN)、分组交换数据网络或其他类型的网络)。
在另一示例中,与网络104的连接可以是无线保真(Wi-Fi、IEEE802.11x类型)连接、全球微波接入互操作性(WiMAX)连接或另一类型的无线数据连接。在这样的实施例中,网络104可以包括耦合到局域网(LAN)、广域网(WAN)、互联网或另一分组交换数据网络的一个或多个无线接入点。在又一示例中,与网络104的连接可以是有线连接(例如,以太网链接),并且网络104可以是LAN、WAN、互联网或另一分组交换数据网络。因此,明确设想了各种不同的配置。
在各种实施例中,在网络环境100内交换的数据可以取决于通过一个或多个客户端或用户接口(UI)可用的用户选择的功能。UI与执行web客户端(例如,互联网浏览器)的用户设备108相关联,该web客户端可以与网络***102通信。UI也可以与由第三方设备106提供的一个或多个第三方应用(例如,由开发人员设计的用于与网络***102交互的第三方应用或操作***)相关联。
用户设备108可以包括但不限于:智能电话、平板计算机、笔记本计算机、多处理器***、基于微处理器的或可编程的消费电子产品、游戏机、机顶盒、服务器或用户可以用来访问网络***102的任何其他通信设备。在一些实施例中,用户设备108包括显示模块(未示出)以显示信息(例如,以用户接口的形式)。在另一些实施例中,用户设备108可以包括触摸屏、加速度计、相机、麦克风和全球定位***(GPS)设备中的一个或多个。
用户设备108可以包括一个或多个应用(也称为“app”),例如但不限于web浏览器、消息传送应用、电子邮件(email)应用、电子商务网站应用(也称为市场应用)、第三方应用等。在一些实施例中,如果网站应用(例如电子商务网站应用)被包括在用户设备108中,则该应用被配置为在本地提供用户接口和至少一些功能,其中应用被配置为根据需要与网络***102通信,以获得本地不可获得的数据或处理能力(例如,访问已发布项目的数据库、认证用户、验证支付方法、与多个卖方谈判报价)。相反,如果网站应用未被包括在用户设备108中,则用户设备108可以使用其web浏览器来访问网络***102上托管的网站(或其变型)。更进一步,用户设备108可以为第三方应用提供授权其代表用户设备108的用户进行API调用。
具体地转到网络***102,应用程序接口(API)服务器110和web服务器112耦合到一个或多个应用服务器114,并分别向一个或多个应用服务器114提供编程接口和web接口。应用服务器114托管发布***116和授权***118,发布***116和授权***118中均可包括一个或多个模块、应用或引擎,并且可以体现为硬件、软件、固件或其任意组合。相应地,应用服务器114耦合到一个或多个数据库服务器120,该数据库服务器124促进对一个或多个信息存储库或数据库122的访问。在一个实施例中,数据库122是存储设备,该存储设备存储由网络***102使用的内容(例如,出版物或项目清单、商店信息、包括过去浏览和购买历史的买方简档、卖方简档)。
在示例实施例中,发布***116在网络(例如,互联网)上发布内容。因此,发布***116向访问网络***102的用户提供多个发布功能和服务。例如,发布***116可以托管市场应用,该市场应用为用户提供多个市场功能和服务,例如发布、列表和价格设置机制,由此卖方可以列出(或发布信息涉及)待售商品或服务(也统称为“项目”),潜在的用户或买方可以表达对购买此类商品或服务的兴趣或表示购买此类商品或服务的意愿,并处理与该商品或服务有关的交易。然而,应注意,在备选实施例中,发布***116可以与例如信息环境(如,搜索引擎)或社交联网环境之类的非市场环境相关联。
授权***118包括一个或多个授权服务器,其参与开放授权(OAuth)过程以初始授权第三方应用代表用户进行API调用。根据一些实施例,授权***118随后将在OAuth过程中生成的访问令牌转换为单点登录(SSO)链接,以访问网络***102的UX会话。在其他实施例中,授权***118将在OAuth过程期间生成的访问令牌转换为内部访问令牌,以便从网络***102获得内部服务响应。结合图2将更详细地讨论授权***118。
虽然发布***116和授权***118在图1中都被示为形成网络***102的一部分,但是应当理解,在备选实施例中,发布***116或授权***118可以形成与网络***102不同的分离服务的一部分。此外,虽然图1示出的基于客户端-服务器的网络环境100采用了客户端-服务器架构,但是本发明主题当然不限于这种架构,并且可以同样良好地应用于例如分布式或对等的架构***。发布***116和授权***118也可以被实现为独立软件程序,其不一定具有联网能力。
在示例实施例中,在图1中示出的或与其相关联的任何***、服务器或设备(统称为“组件”)可以是、可以包括专用(专业的或其他非通用的)计算机或以其他方式在专用计算机中实现,该专用计算机已被修改(例如,通过软件(例如应用的一个或多个软件模块)、操作***、固件、中间件或其他程序配置或编程),以执行本文针对该***或机器描述的一个或多个功能。例如,下面关于图8讨论了能够实现本文描述的方法中的任何一种或多种的专用计算机***,并且这种专用计算机因此可以是用于执行本文讨论的方法中的任何一种或多种的装置。在这种专用计算机的技术领域内,与缺少本文讨论的结构或以其他无法执行本文讨论的功能的其他专用计算机相比,已通过本文讨论的结构修改以执行本文讨论的功能的专用计算机在技术上得到了改进。因此,根据本文讨论的***和方法来配置的专用机器提供了对类似的专用机器的技术的改进。
此外,图1中示出的***、服务器或设备中的任何两个或更多个可以被组合为单个***、服务器或设备,并且本文针对任何单个***、服务器或设备描述的功能可以细分到多个***或设备中。此外,任何数量的网络***102、第三方设备106和用户设备108可以体现在网络环境100中。此外,网络环境100的一些组件或功能可以被组合在或位于网络环境100中的其他地方。
图2是示出了根据一些示例实施例的授权***118的组件的框图。在示例实施例中,授权***118包括一个或多个授权服务器,该一个或多个授权服务器包括如下组件:所述组件管理用户的认证、对第三方应用进行API授权以代表用户进行API调用、以及通过将权限从API域映射到内部域(例如,内部服务、UX)来跨授权域对API授权的转换而无需用户第二次登录。为了实现这些操作,授权***118包括通信模块202、OAuth引擎204、链接生成器206和令牌模块208,它们都被配置为彼此通信(例如,经由总线、共享存储器或交换机)。授权***118还可以包括与示例实施例无关的其他组件(未示出)。此外,本文描述的任何一个或多个组件(例如,引擎、模块、生成器)可以使用硬件(例如,机器的处理器)或硬件与软件的组合来实现。此外,这些组件中的任何两个或更多个组件可被组合为单个组件,且本文中针对单个组件描述的功能可以细分到多个组件中。
通信模块202管理与第三方应用(例如,由第三方设备106提供并在用户设备108上操作)的通信的交换。具体地,通信模块202在授权代码流程期间与第三方应用交换信息,以生成允许第三方应用代表用户进行API调用的API授权(例如,与用户相关联的访问令牌)。在示例实施例中,第三方应用通过标准授权代码流程(其中用户被授予访问令牌)向用户进行发送。在示例实施例中,标准授权代码流程是标准三足开放授权(OAuth)流程,并且访问令牌是OAuth令牌。
通信模块202还接收转换API授权(例如,访问令牌)的请求,以授权访问网络***102的服务或功能(例如,网络***102的UX会话或内部服务)。在一些实施例中,通信模块202与授权***118的其他组件一起工作以返回单点登录(SSO)链接,该单点登录(SSO)链接允许用户(例如,在用户设备108处)访问网络***102的UX会话而无需用户第二次登录。在其他实施例中,通信模块202与授权***118的其他组件一起工作以跨授权域转换授权范围,以便从网络***102的内部服务返回响应。
OAuth引擎204被配置为执行OAuth流程。在示例实施例中,OAuth引擎204(例如,经由通信模块202)接收授权代码请求。OAuth引擎204还经由第三方应用从用户设备108处的用户接收登录(例如,用户凭证和口令或PIN)和对授权的同意。在OAuth流程期间,OAuth引擎204在用户使用其凭证登录后生成访问令牌。理想情况下,该登录(本文也称为“登入”)是用户将被要求使用网络***102登录的唯一时间。由OAuth引擎204生成的令牌包括嵌入式权限,其在网络***102处定义了针对用户(由第三方应用)要访问的资源和可对该资源执行的操作。结合图3将更详细地讨论OAuth流程。
链接生成器206被配置为生成SSO链接。在示例实施例中,授权***118经由通信模块302接收将用在OAuth流程期间获得的访问令牌换取SSO链接的请求。链接生成器206生成SSO链接,并在此过程中将与访问令牌相关联的嵌入式权限映射到封装在会话令牌内的UX权限。随后的UX会话提供对由这些UX权限授权的用户接口或服务的访问。然后,会话令牌被包括在SSO链接中,并由通信模块202发送给第三方应用。在一个实施例中,SSO链接是SSO统一资源定位符(URL)。使用SSO链接,第三方应用将用户重定向到网络***102的UX会话。
令牌模块208被配置为管理与API的令牌交换,以便跨授权域将授权范围转换为内部访问令牌。在示例实施例中,令牌模块208从API接收访问令牌以及用该访问令牌换取内部访问令牌的请求。作为响应,令牌模块208向API授予内部访问令牌。在示例实施例中,令牌模块208通过将来自访问令牌的权限封装到内部访问令牌中来生成内部访问令牌。然后,API可以通过向内部服务发送带有内部访问令牌的内部服务请求,来使用内部访问令牌访问内部服务。
图3是示出了根据一些示例实施例的用于获得API授权并且使用API授权来访问UX会话306而无需用户使用网络***102执行另一次登录的通信流程300的图。首先,API授权(和API访问令牌)被授予第三方应用302。随后,第三方应用将API授权交换以访问网络***102的UX会话306,而无需用户输入(例如,第二次用户登录或UX权限的请求)。
在示例实施例中,API授权包括标准三足OAuth流程。如图3所示,OAuth流程开始于从第三方应用到授权***118的对授权代码的请求。资源所有者304(例如,用户设备108的用户)提供登录并同意第三方应用302代表资源所有者进行API调用。例如,具有供资源所有者304提供诸如用户名、口令或PIN之类凭证的字段的凭证用户接口被显示给用户设备108上的资源所有者304。通过提供凭证,资源所有者304固有地或显式地提供对第三方应用302代表资源所有者304进行API调用的同意。
一旦授权***118接收到登录和同意,授权***118就可以验证(例如,认证)资源所有者304。然后,授权***118生成授权代码,并将授权代码返回给第三方应用302。
随后,第三方应用302用授权代码换取访问令牌。因此,第三方应用302将授权代码与针对访问令牌的请求一起发送。授权***118接收请求和授权代码并生成访问令牌。在示例实施例中,访问令牌包括嵌入式权限,该嵌入式权限定义了用户要访问的资源和对该资源可执行的操作。在示例实施例中,访问令牌在本文中也被称为OAuth令牌。
在资源所有者304想要执行第三方应用302不支持的操作或访问第三方应用302不支持的信息的情况下,资源所有者304需要被重定向到网络***102(例如,网络***102处的UX会话306)。在示例实施例中,第三方应用与授权***118集成以用OAuth令牌换取SSO链接。因此,在这些情况下,第三方应用302用OAuth令牌换取SSO链接。在示例实施例中,授权***118经由通信模块302接收用OAuth令牌换取SSO链接的请求。
响应于接收到该交换请求,授权***118(例如,链接生成器206)生成SSO链接,并在此过程中将与访问令牌相关联的嵌入式权限映射到封装在会话令牌内的UX权限。映射还考虑了向第三方应用授予的权限(例如,即使用户在访问令牌中具有该权限,特定的第三方应用也可能无法访问网络***102的所有区域)。然后,会话令牌被包括在SSO链接中,并返回给第三方应用302。在一个实施例中,SSO链接是SSO统一资源定位符(URL)。
第三方应用302使用SSO链接将资源所有者304重定向到网络***102处的UX会话306。SSO链接具有建立UX会话306所需要的所有信息。因此,UX会话306提供对由这些UX权限授权的用户接口或服务的访问。
图4是示出了根据一些示例实施例的用于转换API授权以访问UX会话而无需用户第二次登录的方法400的操作的流程图。方法400中的操作可以由授权***118使用上面关于图2描述的组件来执行。因此,通过参考授权***118的示例的方式描述方法400。然而,应当理解,方法400的至少一些操作还可以部署在各种其他硬件配置上或者由驻留在网络环境100中其他地方的类似组件来执行。因此,方法400不意图受限于授权***118。
在操作402中,OAuth引擎204执行开放授权(OAuth)过程,以将API授权授予第三方应用302来代表用户进行API调用。在示例实施例中,OAuth引擎204(例如,经由通信模块202)接收授权代码请求,并且经由第三方应用从用户设备108处的用户接收登录(例如,用户凭证和口令或PIN)和对授权的同意。在一些实施例中,OAuth引擎204生成授权代码并将其返回给第三方应用302,该授权代码随后由第三方应用302换取访问令牌或OAuth令牌。在一些实施例中,OAuth引擎204生成访问令牌,该访问令牌嵌入权限,该权限定义了用户要访问的资源以及对资源可执行的操作。
当用户(例如,资源所有者304)想要执行第三方应用302不支持的操作或访问第三方应用302不支持的信息时,需要将用户重定向到网络***102(例如,网络***102处的UX会话)。在示例实施例中,第三方应用302与授权***118集成,以用访问令牌换取单点登录(SSO)链接。在操作404中,授权***118在网络***102处接收访问会话的请求。该请求包括OAuth令牌。
在操作406中,链接生成器206生成会话令牌。在示例实施例中,链接生成器206将与访问令牌相关联的嵌入式权限映射到UX权限,并将该UX权限封装在会话令牌中。
在操作408中,链接生成器206生成SSO链接。在示例实施例中,SSO链接包括带有嵌入式UX权限的会话令牌。在一个实施例中,SSO链接是SSO统一资源定位符(URL)。
在操作410中,授权***118将SSO链接发送给第三方应用302。在操作412中,第三方应用302使用SSO链接将用户重定向到网络***102(例如,网络***102处的UX会话)。当资源所有者304结束UX会话306时,网络***102将用户(例如,用户设备108)重定向回第三方应用302。
虽然已经讨论了示例实施例,由此用户不需要执行第二因素认证来访问UX会话,但备选实施例可以包括第二因素认证。在这些备选实施例中,除了针对UX会话的API授权转换之外或作为代替方式,还可以执行第二因素认证。
图5是示出了网络***102中的服务层的图。公共API是由内部微服务组(例如,内部微服务层)提供支持的复杂编排器。公共API是没有或几乎没有并入业务逻辑并且具有迎合外部客户端的需求的薄层。API利用内部服务来构建响应。
图6是示出了根据一些示例实施例的用于跨授权域转换授权范围以获得内部服务响应的通信流程的图。与图3的通信流程一样,API授权包括标准三足OAuth流程。如图6所示,OAuth流程开始于从第三方应用到授权***118的对授权代码的请求。资源所有者304(例如,用户设备108的用户)提供登录并同意第三方应用302代表资源所有者进行API调用。通过提供凭证,资源所有者304固有地或显式地提供对第三方应用302代表资源所有者304进行API调用的同意。
一旦授权***118接收到登录和同意,授权***118就验证(例如,认证)资源所有者304。然后,授权***118生成授权代码,并将授权代码返回给第三方应用302。
随后,第三方应用302用授权代码换取访问令牌。因此,第三方应用302将授权代码与针对访问令牌的请求一起发送。授权***118接收请求和授权代码并生成访问令牌。在示例实施例中,访问令牌包括嵌入式权限,该嵌入式权限定义了用户要访问的资源和对该资源可执行的操作。在示例实施例中,访问令牌在本文中也被称为OAuth令牌。访问令牌被授予第三方应用302。
第三方应用302将带有访问令牌的API请求发送给适当的API602。一旦API 602接收到请求,API 602就可以确定需要来自内部服务604的响应。在这些情况下,API 602用请求中的访问令牌换取内部访问令牌。因此,API将访问令牌与交换请求一起发送给授权***118。
响应于接收到交换请求,授权***118(例如,令牌模块208)生成内部访问令牌。在示例实施例中,令牌模块208将与访问令牌关联的嵌入式权限映射到封装在内部访问令牌内的内部服务权限。映射还考虑了向第三方应用授予的权限(例如,即使用户在访问令牌中具有该权限,特定的第三方应用也可能无法访问网络***102的所有区域)。
内部访问令牌被返回到API 602,API 602然后使用内部访问令牌来访问内部服务604。具体地,API 602将带有内部访问令牌的内部服务请求发送给内部服务604。基于封装在内部访问令牌中的权限,内部服务604向API 602提供适当的内部服务响应。然后,API 602将内部服务响应作为API响应转发给第三方应用302。
公共API和内部Web服务二者都使用标准OAuth 2.0协议进行授权。例如,上述示例中的目录API由两个内部服务提供支持:产品搜索和产品细节。第三方应用302调用目录API,并通过授权请求报头传递访问令牌。公共API(例如,目录API)与授权***118集成,以用访问令牌换取具有来自内部Web服务授权域的范围的内部访问令牌。内部访问令牌封装了已转换为内部微服务授权的已授予的API授权。目录API从内部服务604获得响应,应用跨公共API一致的格式化规则,并且将格式化的响应发送给客户端(例如,第三方应用302)。
图7是示出了根据一些示例实施例的用于跨授权域转换授权范围以从内部服务获得响应的方法700的操作的流程图。方法700中的操作可以由网络***102使用上面关于图1和图2描述的组件来执行。因此,通过参考网络***102的示例的方式描述方法700。然而,应当理解,方法700的至少一些操作可以部署在各种其他硬件配置上或者由驻留在网络环境100中其他地方的类似组件来执行。因此,方法700不意图受限于网络***102。
在操作702中,OAuth引擎204执行开放授权(OAuth)过程,以将API授权授予第三方应用302来代表用户进行API调用。在示例实施例中,OAuth引擎204(例如,经由通信模块202)接收授权代码请求,并且经由第三方应用从用户设备108处的用户接收登录(例如,用户凭证和口令或PIN)和对授权的同意。在一些实施例中,OAuth引擎204生成授权代码并将其返回给第三方应用302,该授权代码随后由第三方应用302交换为访问令牌或OAuth令牌。在一些实施例中,OAuth引擎204生成访问令牌,该访问令牌嵌入权限,该权限定义了用户要访问的资源以及对资源可执行的操作。
当第三方应用302代表用户将带有访问令牌的API请求发送给API 602。API 602在操作704中接收API请求。
在一些实施例中,API 602确定API 602请求需要内部服务604的信息、操作或功能。因此,在操作706中,API 602用访问令牌换取内部访问令牌。公共API 602与授权***118集成,以用访问令牌换取具有来自内部Web服务授权域的范围的内部访问令牌。在示例实施例中,授权***118(例如,令牌模块208)生成内部访问令牌。例如,令牌模块208将与访问令牌相关联的嵌入式权限映射到封装在内部访问令牌内的内部服务权限。映射还考虑了向第三方应用授予的权限(例如,即使用户在访问令牌中具有该权限,特定的第三方应用也可能无法访问网络***102的所有区域)。内部访问令牌被返回到API602,API 602然后使用内部访问令牌来访问内部服务604。
在操作708中,API 602获得内部服务响应。在示例实施例中,API 602使用内部访问令牌来访问内部服务604。具体地,API将带有内部访问令牌的内部服务请求发送给内部服务604。基于封装在内部访问令牌中的权限,内部服务604向API 602提供适当的内部服务响应。
在操作710中,API 602将内部服务响应作为API响应转发给第三方应用302。在一些实施例中,API 602将内部服务响应格式化为适当的API响应,以传输给第三方应用302。
虽然已经讨论了示例实施例,由此用户不需要执行第二因素认证来访问内部服务604,但备选实施例可以包括第二因素认证。
图8示出了根据一些示例实施例的能够从机器存储介质(例如机器存储设备、非暂时性机器可读存储介质、计算机存储介质、或其任意适当的组合)读取指令并执行本文讨论的方法中的任何一种或多种方法的机器800的组件。具体地,图8示出了计算机设备(例如计算机)的示例形式的机器800的示意图,并且其中可以完全或部分执行指令824(例如,软件、程序、应用、小应用、app或其他可执行代码)以使机器800执行本文所讨论的方法中的任何一种或多种。
例如,指令824可以使机器800执行图3至图7的通信流程和流程图。在一个实施例中,指令824可以将一般的未编程的机器800转换成被编程为以所述方式执行所描述和示出的功能的特定机器(例如,特别配置的机器)。
在备选实施例中,机器800作为独立设备操作或者可以连接至(例如联网)到其他机器。在联网部署中,机器800可以在服务器-客户端网络环境中以服务器机器或客户端机器的容量操作,或者作为对等(或分布式)网络环境中的对等机器操作。机器800可以是服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、智能电话、web设备、网络路由器、网络交换机、网桥或者能够(顺序地或以其他方式)执行指令824的任何机器,所述指令824指定了该机器要采取的动作。此外,尽管仅示出了单个机器,但是术语“机器”也应被视为包括机器的集合,其单独地或联合地执行指令824以执行本文中所讨论的方法中的任何一种或多种。
机器800包括处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、或其任意适当组合)、主存储器804和静态存储器806,它们被配置为经由总线808彼此通信。处理器802可以包含微电路,该微电路可由指令824中的一些或全部临时或永久配置,使得处理器802可被配置为完全或部分执行本文描述的方法中的任意一种或多种方法。例如,处理器1002的一个或多个微电路的集合可被配置为执行本文描述的一个或多个模块(例如软件模块)。
机器800还可以包括图形显示器810(例如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、或阴极射线管(CRT)、或能够显示图形或视频的任何其他显示器)。机器800还可以包括字母数字输入设备812(例如键盘)、光标控制设备814(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定位仪器)、存储单元816、信号生成设备818(例如声卡、放大器、扬声器、耳机插座或其任意适当组合)以及网络接口设备820。
存储单元816包括机器存储介质822(例如,有形的机器可读存储介质),在该机器存储介质822上存储体现本文描述的方法或功能中的任何一个或多个的指令824(例如软件)。指令824还可以在机器800执行指令824之前或期间完全或至少部分驻留在主存储器804内、处理器802内(例如处理器的高速缓存内)或这二者内。因此,主存储器804和处理器802可被认为是机器可读介质(例如有形和非暂时性机器可读介质)。可以经由网络接口设备820在网络826上发送或接收指令824。
在一些示例实施例中,机器800可以是便携式计算设备,并且具有一个或多个附加输入组件(例如传感器或仪表)。这样的输入组件的示例包括图像输入组件(例如,一个或多个相机)、音频输入组件(例如,麦克风)、方向输入组件(例如,指南针)、位置输入组件(例如,全球定位***(GPS)接收器)、方向组件(例如,陀螺仪)、运动检测组件(例如,一个或多个加速度计)、高度检测组件(例如,高度计)和气体检测组件(例如,气体传感器)。这些输入组件中的任何一个或多个获得的输入可访问和可用于由本文描述的任一模块使用。
可执行指令和机器存储介质
各种存储器(即,804、806和/或处理器802的存储器)和/或存储单元816可以存储由本文描述的方法或功能中的任何一个或多个体现或利用的一组或多组指令和数据结构(例如,软件)824。这些指令在由处理器802执行时引起各种操作以实现所公开的实施例。
如本文所使用的,术语“机器存储介质”、“设备存储介质”、“计算机存储介质”(统称为“机器存储介质822”)表示相同的事物,并且可以在本公开中互换使用。术语是指存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器),以及基于云的存储***或包括多个存储装置或设备的存储网络。术语因此应当被视为包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质822的特定示例包括非易失性存储器,例如包括半导体存储器设备(例如,可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备);磁盘(例如内部硬盘和可移动盘);磁光盘;以及CD ROM和DVD-ROM磁盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质822”具体排除载波、调制数据信号和其他此类介质,其中至少一些在下面讨论的术语“信号介质”中涵盖。在该上下文中,机器存储介质是非暂时性的。
信号介质
术语“信号介质”或“传输介质”应被认为包括任何形式的调制数据信号、载波等。术语“调制数据信号”表示具有一个或多个信号特征被设置或被改变以在信号中编码信息的信号。
计算机可读介质
术语“机器可读介质”、“计算机可读介质”和“设备可读介质”表示相同的事物,并且在本公开中可以互换使用。该术语被定义为包括机器存储介质和信号介质二者。因此,该术语包括存储设备/介质和载波/调制数据信号二者。
指令824还可以经由网络接口设备820使用传输介质并使用多个公知的传输协议中的任何一种在通信网络826上发送或接收。通信网络826的示例包括局域网(LAN)、广域网(WAN)、互联网、移动电话网络、简易老式电话服务(POTS)网络以及无线数据网络(例如WiFi、LTE和WiMAX网络)。术语“传输介质”应被认为包括能够存储、编码或携带用于由机器800执行的指令824的任何无形介质,并且包括用于促进这种软件的通信的数字或模拟通信信号或其他无形介质。
在整个说明书中,复数实例可以实现如单个实例所描述的部件、操作或结构。尽管一个或多个方法的各个操作被示意和描述为分离的操作,但是各个操作中的一个或多个可以同时执行,并且无需按所示顺序执行操作。在示例配置中被示为分离组件的结构和功能可以被实现为组合结构或组件。类似地,被示为单个组件的结构和功能可以被实现为分离的组件。这些和其它变型、修改、添加和改进落入本文中主题的范围内。
某些实施例在本文中被描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如在机器存储介质上或在传输信号中体现的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以按照某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机***(例如独立的计算机***、客户端计算机***或服务器计算机***)或者计算机***的一个或多个硬件模块(例如处理器或处理器组)可由软件(例如应用或应用部分)配置为操作为执行本文描述的特定操作的硬件模块。
在一些实施例中,硬件模块可以以机械方式、电子方式或其任意适当组合来实现。例如,硬件模块可以包括永久地被配置为执行特定操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,如现场可编程门阵列(FPGA)或ASIC。硬件模块还可以包括由软件临时配置为执行特定操作的可编程逻辑或电路。例如,硬件模块可以包括通用处理器或其他可编程处理器中包含的软件。应理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可出于成本和时间的考虑。
因此,术语“硬件模块”应当被理解为涵盖有形实体,应当是物理上构造、永久配置(例如,硬线连线)或临时配置(例如,编程)为以特定方式操作或以执行本文描述的特定操作的实体。如本文所使用的,“硬件实现的模块”指硬件模块。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括被软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为分别不同的不同的硬件模块。因此,软件可以将处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦接。如果同时存在多个硬件模块,则可以通过两个或更多个硬件模块之间的信号传输(例如通过适当的电路和总线)实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并获取多个硬件模块可访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦接的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以取回并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源进行操作(例如信息的收集)。
此处描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是临时还是永久配置,这样的处理器可以构成操作以执行本文描述的一个或多个操作或功能的处理器实现的模块。如本文所使用的,“处理器实现的模块”指使用一个或多个处理器实现的硬件模块。
类似地,本文描述的方法可以至少部分是处理器实现的,处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器还可操作以支持在“云计算”环境中或作为“软件即服务”(SaaS)执行有关操作。例如,操作中的至少一些可由计算机(作为包括处理器的机器的示例)组执行,这些操作可经由网络(例如互联网)并经由一个或多个适当接口(例如应用程序接口(API))来访问。
某些操作的执行可以分布在一个或多个处理器中,并不只驻留在单个机器中,而是跨多个机器来部署。在一些示例实施例中,一个或多个处理器或处理器实现的模块可以位于单个地理位置(例如在家庭环境、办公室环境或服务器群中)。在其他示例实施例中,一个或多个处理器或处理器实现的模块可以跨多个地理位置分布。
示例
示例1是一种用于转换针对UX会话的API授权而无需第二次用户登录的方法。所述方法包括在授权服务器处从第三方开发的第三方应用接收代表用户访问用户体验(UX)会话的请求,所述请求包括所述授权服务器响应于用户同意允许所述第三方应用代表自己执行动作而向所述第三方应用先前授予的访问令牌;响应于接收到所述请求,并且基于所述访问令牌,由所述授权服务器将所述访问令牌转换为带有会话令牌的单点登录(SSO)链接;以及由所述授权服务器将带有所述会话令牌的所述SSO链接发送给所述第三方开发的第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的UX会话。
在示例2中,示例1的主题可以可选地包括:其中,所述访问令牌包括嵌入式权限,所述嵌入式权限定义了所述用户和所述第三方应用要访问的资源以及对所述资源可执行的操作,所述方法还包括:将所述嵌入式权限映射到UX权限。
在示例3中,示例1至2中任一个的主题可以可选地包括:其中,将所述访问令牌转换为带有所述会话令牌的所述SSO链接包括:将所述UX权限封装在所述会话令牌内。
在示例4中,示例1至3中任一个的主题可以可选地包括:其中,所述UX会话基于所述UX权限,所述UX会话提供对由所述UX权限授权的用户接口或服务的访问。
在示例5中,示例1至4中任一个的主题可以可选地包括:其中,所述转换消除了访问所述UX会话的第二因素认证。
在示例6中,示例1至5中任一个的主题可以可选地包括:其中,将所述访问令牌转换为所述SSO链接包括:将所述访问令牌转换为SSO统一资源定位符(URL)。
在示例7中,示例1至6中任一个的主题可以可选地包括:从所述用户接收结束所述UX会话的指示;以及响应于接收到所述指示,将所述用户重定向回所述第三方应用。
在示例8中,示例1至7中任一个的主题可以可选地包括:其中,所述授权服务器先前授予的访问令牌是响应于开放授权(OAuth)过程而授予的API授权。
示例9是一种用于转换针对UX会话的API授权而无需第二次用户登录的***。所述***包括一个或多个硬件处理器和存储指令的存储设备,所述指令在由所述一个或多个硬件处理器执行时使所述一个或多个硬件处理器执行包括以下各项的操作:从第三方开发和托管的第三方应用接收代表用户访问用户体验(UX)会话的请求,所述请求包括响应于所述用户同意允许所述第三方应用代表所述用户执行动作而向所述第三方应用先前授予的访问令牌;响应于接收到所述请求,并且基于所述访问令牌,将所述访问令牌转换为带有会话令牌的单点登录(SSO)链接;以及将带有所述会话令牌的SSO链接发送给所述第三方开发的第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的UX会话。
在示例10中,示例9的主题可以可选地包括:其中,所述访问令牌包括嵌入式权限,所述嵌入式权限定义了所述用户和所述第三方应用要访问的资源以及对所述资源可执行的操作,所述方法还包括:将所述嵌入式权限映射到UX权限。
在示例11中,根据示例9至10中任一个所述的主题可以可选地包括:其中,将所述访问令牌转换成带有所述会话令牌的SSO链接包括:将所述UX权限封装在所述会话令牌内。
在示例12中,示例9至11中任一个的主题可以可选地包括:
其中,所述UX会话基于所述UX权限,所述UX会话提供对由所述UX权限授权的用户接口或服务的访问。
在示例13中,示例10至12中任一个的主题可以可选地包括:其中,将所述访问令牌转换为所述SSO链接包括:将所述访问令牌转换成SSO统一资源定位符(URL)。
在示例14中,示例9至13中任一个的主题可以可选地包括:从所述用户接收结束所述UX会话的指示;以及响应于接收到所述指示,将所述用户重定向回所述第三方应用。
示例15是一种用于转换针对UX会话的API授权而无需第二次用户登录的机器存储介质。所述机器存储介质配置一个或多个处理器以执行包括以下各项的操作:在授权服务器处从第三方开发和托管的第三方应用接收代表用户访问用户体验UX会话的请求,所述请求包括所述授权服务器响应于所述用户同意允许所述第三方应用代表所述用户执行动作而向所述第三方应用先前授予的访问令牌;响应于接收到所述请求,并且基于所述访问令牌,由所述授权服务器将所述访问令牌转换为带有会话令牌的单点登录(SSO)链接;以及由所述授权服务器将带有所述会话令牌的SSO链接发送给所述第三方开发的所述第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的所述UX会话。
在示例16中,示例15的主题可以可选地包括:其中,所述访问令牌包括嵌入式权限,所述嵌入式权限定义了所述用户和所述第三方应用要访问的资源以及对所述资源可执行的操作,所述方法还包括:将所述嵌入式权限映射到UX权限。
在示例17中,示例15至16中任一个的主题可以可选地包括:其中,将所述访问令牌转换成带有所述会话令牌的所述SSO链接包括:将所述UX权限封装在所述会话令牌内。
在示例18中,示例15至17中任一个的主题可以可选地包括:其中,所述UX会话基于所述UX权限,所述UX会话提供对由所述UX权限授权的用户接口或服务的访问。
在示例19中,示例15至18中任一个的主题可以可选地包括:其中,将所述访问令牌转换为所述SSO链接包括:将所述访问令牌转换成SSO统一资源定位符(URL)。
在示例20中,示例15至19中任一个的主题可以可选地包括:从所述用户接收结束所述UX会话的指示;以及响应于接收到所述指示,将所述用户重定向回所述第三方应用。
本说明书的一些部分可以用算法或对数据的操作的符号表示来呈现,其存储为机器存储器(例如计算机存储器)内的比特或二进制数字信号。这些算法或符号表示是数据处理技术领域普通技术人员用来向本领域其他技术人员传达他们工作实质的技术示例。如本文所使用的,“算法”是操作的自洽序列或导致期望结果的类似处理。在该上下文中,算法和操作涉及对物理量的物理操作。通常但非必要地,这样的量可以采取能够由机器存储、访问、传输、组合、比较或以其他方式操纵的电气、磁或光学信号的形式。有时,主要由于常见用法的原因,使用诸如“数据”、“内容”、“比特”、“值”、“元素”、“符号”、“字符”、“项”、“数”、“数字”等词语来指代这样的信号是方便的。然而,这些词语仅仅是方便的标记,并且应与适当的物理量相关联。
除非另行具体说明,否则本文使用例如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”等词语的讨论可以指操纵或转换被表示为一个或多个存储器(例如易失性存储器、非易失性存储器或其任意适当组合)、寄存器或接收、存储、发送或显示信息的其他机器组件内的物理(例如电子、磁或光学)量的数据的机器(例如计算机)的动作或过程。此外,除非另行具体说明,否则如专利文献中常见的,本文中的术语“一”或“一个”用于包括一个或多于一个实例。最后,如本文所使用的,除非另行具体说明,连词“或”指非排他的“或”。
尽管已经参考特定示例实施例描述了本主题的概述,但是可以在不脱离本发明的实施例的更宽泛的范围的情况下对这些实施例做出各种修改和改变。例如,本领域普通技术人员可以将各种实施例或其特征混合和匹配或使其可选。本主题的这些实施例在本文中可以单独地或共同地由术语“发明”提及,以仅仅为了方便,并且不旨在自动地将本申请的范围限制为任何单个发明或本构思(如果事实上公开了一个以上)。
本文示出的实施例被认为是被充分详细地描述以使本领域技术人员能够实践所公开的教导。可以利用并根据这些实施例得出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。
此外,可以针对本文中描述为单个实例的资源、操作或结构提供多个实例。此外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且在具体说明性配置的上下文中示出了特定操作。对功能的其他分配是可以预想到的,并且可以落入本发明各种实施例的范围内。一般来说,在示例配置中作为分离资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为分离的资源。这些及其他的变型、修改、添加和改进落入如由所附权利要求表示的本发明的实施例的范围内。因此,说明书和附图应当被看做说明性的而不是限制意义的。
Claims (17)
1.一种转换API授权以访问网络***的功能或服务的方法,包括:
在所述网络***的授权服务器处从第三方开发的第三方应用接收代表用户访问用户体验UX会话的请求,所述用户体验UX会话是所述第三方应用不支持的网络***服务,并且所述请求包括所述授权服务器响应于所述用户同意允许所述第三方应用代表所述用户执行动作而向所述第三方应用先前授予的访问令牌;
响应于接收到所述请求,并且基于所述访问令牌,由所述授权服务器通过将与所述访问令牌相关联的嵌入式权限映射到会话令牌内封装的UX权限从而将所述访问令牌转换为带有会话令牌的单点登录SSO链接;以及
由所述授权服务器将带有所述会话令牌的所述SSO链接发送给所述第三方开发的所述第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的所述UX会话。
2.根据权利要求1所述的方法,其中,将所述访问令牌转换为带有所述会话令牌的所述SSO链接包括:将所述UX权限封装在所述会话令牌内。
3.根据权利要求1所述的方法,其中,所述UX会话基于所述UX权限,所述UX会话提供对由所述UX权限授权的用户接口或服务的访问。
4.根据权利要求1所述的方法,其中,所述转换消除了用于访问所述UX会话的第二因素认证。
5.根据权利要求1所述的方法,其中,将所述访问令牌转换为所述SSO链接包括:将所述访问令牌转换为SSO统一资源定位符URL。
6.根据权利要求1所述的方法,还包括:
从所述用户接收结束所述UX会话的指示;以及
响应于接收到所述指示,将所述用户重定向回所述第三方应用。
7.根据权利要求1所述的方法,其中,所述授权服务器先前授予的所述访问令牌是响应于开放授权OAuth过程而授予的API授权。
8.一种转换API授权以访问网络***的功能或服务的***,包括:
一个或多个硬件处理器;以及
存储指令的存储设备,所述指令在由所述一个或多个硬件处理器执行时使所述一个或多个硬件处理器执行包括以下各项的操作:
从第三方开发的第三方应用接收代表用户访问用户体验UX会话的请求,所述用户体验UX会话是所述第三方应用不支持的网络***服务,并且所述请求包括响应于所述用户同意允许所述第三方应用代表所述用户执行动作而向所述第三方应用先前授予的访问令牌;
响应于接收到所述请求,并且基于所述访问令牌,通过将与所述访问令牌相关联的嵌入式权限映射到会话令牌内封装的UX权限从而将所述访问令牌转换为带有会话令牌的单点登录SSO链接;以及
将带有所述会话令牌的所述SSO链接发送给所述第三方开发的所述第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的所述UX会话。
9.根据权利要求8所述的***,其中,将所述访问令牌转换为带有所述会话令牌的所述SSO链接包括:将所述UX权限封装在所述会话令牌内。
10.根据权利要求8所述的***,其中,所述UX会话基于所述UX权限,所述UX会话提供对由所述UX权限授权的用户接口或服务的访问。
11.根据权利要求8所述的***,其中,将所述访问令牌转换为所述SSO链接包括:将所述访问令牌转换为SSO统一资源定位符URL。
12.根据权利要求8所述的***,其中,所述操作还包括:
从所述用户接收结束所述UX会话的指示;以及
响应于接收到所述指示,将所述用户重定向回所述第三方应用。
13.一种存储指令的机器可读存储介质,所述指令在由机器的一个或多个处理器执行时使所述一个或多个处理器执行包括以下各项的操作:
在授权服务器处从第三方开发的第三方应用接收代表用户访问用户体验UX会话的请求,所述用户体验UX会话是所述第三方应用不支持的网络***服务,并且所述请求包括所述授权服务器响应于所述用户同意允许所述第三方应用代表所述用户执行动作而向所述第三方应用先前授予的访问令牌;
响应于接收到所述请求,并且基于所述访问令牌,由所述授权服务器通过将与所述访问令牌相关联的嵌入式权限映射到会话令牌内封装的UX权限从而将所述访问令牌转换为带有会话令牌的单点登录SSO链接;以及
由所述授权服务器将带有所述会话令牌的所述SSO链接发送给所述第三方开发的所述第三方应用,所述SSO链接使所述第三方应用将所述用户重定向到与所述SSO链接相对应的所述UX会话。
14.根据权利要求13所述的机器可读存储介质,其中,将所述访问令牌转换为带有所述会话令牌的所述SSO链接包括:将所述UX权限封装在所述会话令牌内。
15.根据权利要求13所述的机器可读存储介质,其中,所述UX会话基于所述UX权限,所述UX会话提供对由所述UX权限授权的用户接口或服务的访问。
16.根据权利要求13所述的机器可读存储介质,其中,将所述访问令牌转换为所述SSO链接包括:将所述访问令牌转换为SSO统一资源定位符URL。
17.根据权利要求13所述的机器可读存储介质,其中,所述操作还包括:
从所述用户接收结束所述UX会话的指示;以及
响应于接收到所述指示,将所述用户重定向回所述第三方应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310508635.1A CN116405312A (zh) | 2019-09-30 | 2020-08-20 | 应用编程接口授权转换*** |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/588,958 | 2019-09-30 | ||
US16/588,958 US11368461B2 (en) | 2019-09-30 | 2019-09-30 | Application programming interface authorization transformation system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310508635.1A Division CN116405312A (zh) | 2019-09-30 | 2020-08-20 | 应用编程接口授权转换*** |
Publications (3)
Publication Number | Publication Date |
---|---|
CN112583784A CN112583784A (zh) | 2021-03-30 |
CN112583784B CN112583784B (zh) | 2023-05-09 |
CN112583784B9 true CN112583784B9 (zh) | 2023-11-17 |
Family
ID=75119559
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010846436.8A Active CN112583784B9 (zh) | 2019-09-30 | 2020-08-20 | 应用编程接口授权转换*** |
CN202310508635.1A Pending CN116405312A (zh) | 2019-09-30 | 2020-08-20 | 应用编程接口授权转换*** |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310508635.1A Pending CN116405312A (zh) | 2019-09-30 | 2020-08-20 | 应用编程接口授权转换*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US11368461B2 (zh) |
CN (2) | CN112583784B9 (zh) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US11418492B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11544409B2 (en) | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
WO2021232347A1 (en) * | 2020-05-21 | 2021-11-25 | Citrix Systems, Inc. | Cross device single sign-on |
US11477188B2 (en) * | 2020-07-01 | 2022-10-18 | Citrix Systems, Inc. | Injection of tokens or client certificates for managed application communication |
US11797528B2 (en) | 2020-07-08 | 2023-10-24 | OneTrust, LLC | Systems and methods for targeted data discovery |
WO2022026564A1 (en) | 2020-07-28 | 2022-02-03 | OneTrust, LLC | Systems and methods for automatically blocking the use of tracking tools |
US11475165B2 (en) | 2020-08-06 | 2022-10-18 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
WO2022060860A1 (en) | 2020-09-15 | 2022-03-24 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
US11526624B2 (en) | 2020-09-21 | 2022-12-13 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
WO2022099023A1 (en) | 2020-11-06 | 2022-05-12 | OneTrust, LLC | Systems and methods for identifying data processing activities based on data discovery results |
US11687528B2 (en) | 2021-01-25 | 2023-06-27 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
WO2022170047A1 (en) | 2021-02-04 | 2022-08-11 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
EP4288889A1 (en) | 2021-02-08 | 2023-12-13 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US11601464B2 (en) | 2021-02-10 | 2023-03-07 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
US11775348B2 (en) | 2021-02-17 | 2023-10-03 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
US11546661B2 (en) | 2021-02-18 | 2023-01-03 | OneTrust, LLC | Selective redaction of media content |
WO2022192269A1 (en) * | 2021-03-08 | 2022-09-15 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
CN117897700A (zh) * | 2021-06-30 | 2024-04-16 | 杜比实验室特许公司 | 用于控制对软件资产的访问的方法和装置 |
US20230015697A1 (en) * | 2021-07-13 | 2023-01-19 | Citrix Systems, Inc. | Application programming interface (api) authorization |
CN114793177B (zh) * | 2022-04-28 | 2024-01-05 | 阿里巴巴(中国)有限公司 | 服务登录方法、装置和电子设备 |
US11695772B1 (en) * | 2022-05-03 | 2023-07-04 | Capital One Services, Llc | System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051630A (zh) * | 2012-12-21 | 2013-04-17 | 微梦创科网络科技(中国)有限公司 | 基于开放平台实现第三方应用授权的方法、装置及*** |
CN107347068A (zh) * | 2017-07-10 | 2017-11-14 | 恒生电子股份有限公司 | 单点登录方法及***、电子设备 |
CN107690792A (zh) * | 2015-06-15 | 2018-02-13 | 安维智有限公司 | 未经管理的移动设备的单点登录 |
CN107948167A (zh) * | 2017-11-29 | 2018-04-20 | 浙江数链科技有限公司 | 一种单点登录的方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9461996B2 (en) * | 2010-05-07 | 2016-10-04 | Citrix Systems, Inc. | Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application |
US8769651B2 (en) * | 2012-09-19 | 2014-07-01 | Secureauth Corporation | Mobile multifactor single-sign-on authentication |
US8959608B2 (en) | 2012-12-26 | 2015-02-17 | Cellco Partnership | Single sign-on for a native application and a web application on a mobile device |
US9088564B1 (en) | 2013-02-07 | 2015-07-21 | Intuit Inc. | Transitioning a logged-in state from a native application to any associated web resource |
AU2015256293B2 (en) * | 2014-05-06 | 2017-05-04 | Okta, Inc. | Facilitating single sign-on to software applications |
US10218701B2 (en) * | 2016-03-09 | 2019-02-26 | Avaya Inc. | System and method for securing account access by verifying account with email provider |
US10454940B2 (en) * | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US10230720B2 (en) * | 2016-12-12 | 2019-03-12 | Sap Se | Authorization code flow for in-browser applications |
-
2019
- 2019-09-30 US US16/588,958 patent/US11368461B2/en active Active
-
2020
- 2020-08-20 CN CN202010846436.8A patent/CN112583784B9/zh active Active
- 2020-08-20 CN CN202310508635.1A patent/CN116405312A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051630A (zh) * | 2012-12-21 | 2013-04-17 | 微梦创科网络科技(中国)有限公司 | 基于开放平台实现第三方应用授权的方法、装置及*** |
CN107690792A (zh) * | 2015-06-15 | 2018-02-13 | 安维智有限公司 | 未经管理的移动设备的单点登录 |
CN107347068A (zh) * | 2017-07-10 | 2017-11-14 | 恒生电子股份有限公司 | 单点登录方法及***、电子设备 |
CN107948167A (zh) * | 2017-11-29 | 2018-04-20 | 浙江数链科技有限公司 | 一种单点登录的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112583784B (zh) | 2023-05-09 |
CN112583784A (zh) | 2021-03-30 |
US20210099449A1 (en) | 2021-04-01 |
CN116405312A (zh) | 2023-07-07 |
US11368461B2 (en) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112583784B9 (zh) | 应用编程接口授权转换*** | |
EP3333744B1 (en) | Authorization code flow for in-browser applications | |
US11689521B2 (en) | Native single sign-on (SSO) for mobile applications | |
JP6496404B2 (ja) | コンピュータサブネットワーク内のプロキシサーバ | |
US9043886B2 (en) | Relying party platform/framework for access management infrastructures | |
KR101929598B1 (ko) | 운영체제 및 애플리케이션 사이에서 사용자 id의 공유 기법 | |
US9391998B2 (en) | Extended OAuth architecture supporting multiple types of consent based on multiple scopes and contextual information | |
US10127317B2 (en) | Private cloud API | |
JP6640869B2 (ja) | スマートイメージを使用したフィッシング対策のための方法およびシステム | |
JP2017507592A (ja) | モバイルクラウドサービスアーキテクチャ | |
US20140143836A1 (en) | Extended OAuth Architecture | |
US9667631B2 (en) | Venue-specific wi-fi connectivity notifications | |
US9652754B2 (en) | Method, medium, and system for payment on call in a networked environment | |
WO2023193572A1 (zh) | 一种数据管理方法、装置、服务器和存储介质 | |
US20210120368A1 (en) | Network based enforcement of geographical compliance | |
US11831631B2 (en) | Single sign-on for mobile applications using direct brokering for identity authentication | |
US20240031630A1 (en) | Platform-agnostic media framework | |
WO2023076338A1 (en) | System and method for decentralized user controlled social media | |
CN114205099B (zh) | 网页鉴权方法、电子设备及*** | |
EP4374273A1 (en) | Publisher permissioned activation in cookieless authentication environment | |
JP2019139457A (ja) | ログイン支援プログラム、ログイン支援方法、情報処理端末、及び、ログイン支援システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CI03 | Correction of invention patent |
Correction item: Claims Correct: Claims 1-17 submitted on December 23, 2022 False: Claims 1-16 submitted on December 23, 2022 Number: 19-01 Page: ?? Volume: 39 |
|
CI03 | Correction of invention patent |