介绍

OAuth 2是一个授权框架,它使应用程序(例如 Facebook、GitHub 和 DigitalOcean)能够获得对 HTTP 服务上用户帐户的有限访问权限。它的工作原理是将用户身份验证委托给托管用户帐户的服务并授权第三方应用程序访问该用户帐户。OAuth 2 为 Web 和桌面应用程序以及移动设备提供授权流程。

本信息指南面向应用程序开发人员,概述了 OAuth 2 角色、授权授予类型、用例和流程。

OAuth 角色

OAuth 定义了四个角色:

  • 资源所有者 :资源所有者是用户 谁授权的应用程序 来访问他们的帐户。应用程序对用户帐户的访问仅限于授予的授权范围(例如读或写访问)
  • 客户端 :客户端是想要访问用户帐户的应用程序 。在它可以这样做之前,它必须得到用户的授权,并且该授权必须经过 API 的验证。
  • 资源服务器 :资源服务器托管受保护的用户帐户。
  • 授权服务器 :授权服务器验证用户 的身份,然后向应用程序 颁发访问令牌。

从应用程序开发人员的角度来看,服务的 API 实现了资源和授权服务器角色。我们将这两个角色结合起来称为服务API 角色。

抽象协议流程

现在您已经了解了 OAuth 角色是什么,让我们看一下它们通常如何相互交互的图表:

梦溪

以下是对图中步骤的更详细说明:

  1. 应用程序 请求授权接入服务资源从用户
  2. 如果用户 授权了请求,应用程序 会收到授权许可
  3. 应用程序 请求来自的访问令牌授权服务器 通过提供自己的身份验证(API),并授权拨款
  4. 如果应用程序身份已通过身份验证并且授权许可有效,则授权服务器 (API) 会向应用程序颁发访问令牌。授权完成。
  5. 应用程序 从请求资源的资源服务器 (API),并介绍了访问令牌认证
  6. 如果访问令牌有效,则资源服务器 (API) 将资源提供给应用程序

此过程的实际流程将根据使用的授权授予类型而有所不同,但这是总体思路。我们将在后面的部分探讨不同的赠款类型。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论(3)