Skip to content

1.2. 协议流程

+--------+                               +---------------+
|        |--(1)- Authorization Request ->|   Resource    |
|        |                               |     Owner     |
|        |<-(2)-- Authorization Grant ---|               |
|        |                               +---------------+
|        |
|        |                               +---------------+
|        |--(3)-- Authorization Grant -->| Authorization |
| Client |                               |     Server    |
|        |<-(4)----- Access Token -------|               |
|        |                               +---------------+
|        |
|        |                               +---------------+
|        |--(5)----- Access Token ------>|    Resource   |
|        |                               |     Server    |
|        |<-(6)--- Protected Resource ---|               |
+--------+                               +---------------+

图 1:协议流程概要

OAuth 2.1 的流程概要如图 1 所示。它描述了四种角色之间的交互,包括以下步骤:

  1. 客户端征求资源所有者的授权。这一授权请求可以直接发送给资源所有者(如图所示);或者更好的做法是,通过授权服务器的中介间接发送。
  2. 客户端拿到授权许可。这种凭据代表了资源所有者的授权,可以表示为本规范定义的授权许可类型之一,或者是某一扩展许可类型。授权许可的类型一方面取决于客户端征求授权的方法,另一方面也取决于授权服务器支持的类型。
  3. 客户端与授权服务器进行认证,并展示授权许可,以请求访问令牌。
  4. 授权服务器认证客户端,并验证其授权许可。如果授权许可有效,就颁发访问令牌。
  5. 客户端展示访问令牌,与资源服务器进行认证,来请求资源服务器上的受保护资源。
  6. 资源服务器验证访问令牌。如果访问令牌有效,就为其提供服务。

客户端从资源所有者处获取授权许可(如步骤(1)和(2)所示)的最好方法,是使用授权服务器作为中介,如第 4.1 节的图 3 所示。

本站使用 Vitepress 构建