4.3. 资源所有者密码凭据许可

资源所有者密码凭据许可类型适合于资源所有者与客户端具有信任关系的情况,如设备操作系统或高级特权应用。当启用这种许可类型时授权服务器应该特别关照且只有当其他流程都不可用时才可以。

这种许可类型适合于能够获得资源所有者凭据(用户名和密码,通常使用交互的形式)的客户端。通过转换已存储的凭据至访问令牌,它也用于迁移现存的使用如HTTP基本或摘要身份验证的直接身份验证方案的客户端至OAuth。

  1. +----------+
  2. | Resource |
  3. | Owner |
  4. | |
  5. +----------+
  6. v
  7. | Resource Owner
  8. (A) Password Credentials
  9. |
  10. v
  11. +---------+ +---------------+
  12. | |>--(B)---- Resource Owner ------->| |
  13. | | Password Credentials | Authorization |
  14. | Client | | Server |
  15. | |<--(C)---- Access Token ---------<| |
  16. | | (w/ Optional Refresh Token) | |
  17. +---------+ +---------------+

图5:资源所有者密码凭据流程

图5中的所示流程包含以下步骤:

  • (A)资源所有者提供给客户端它的用户名和密码。
  • (B)通过包含从资源所有者处接收到的凭据,客户端从授权服务器的令牌端点请求访问令牌。当发起请求时,客户端与授权服务器进行身份验证。
  • (C)授权服务器对客户端进行身份验证,验证资源所有者的凭证,如果有效,颁发访问令牌。

  • 4.3.1. 授权请求和响应

  • 4.3.2. 访问令牌请求
  • 4.3.3. 访问令牌响应