oauth-2.0 - "Resource Owner Password Flow"和 "Client Credentials Flow"之间的区别

标签 oauth-2.0

我似乎不清楚“资源所有者密码流程”和“客户端凭据流程”之间的区别。前者似乎将密码凭据转发到服务器进行验证,而后者也以某种方式与服务器进行身份验证,但规范没有指定此处使用什么方法。此流程是为 cookie session 设计的吗?该规范并没有真正提供明确的用例。

来自 OAuth 2.0 规范:

 +---------+                                  +---------------+
 |         |                                  |               |
 |         |>--(A)- Client Authentication --->| Authorization |
 | Client  |                                  |     Server    |
 |         |<--(B)---- Access Token ---------<|               |
 |         |                                  |               |
 +---------+                                  +---------------+

                 Figure 6: Client Credentials Flow

 +----------+
 | Resource |
 |  Owner   |
 |          |
 +----------+
      v
      |    Resource Owner
     (A) Password Credentials
      |
      v
 +---------+                                  +---------------+
 |         |>--(B)---- Resource Owner ------->|               |
 |         |         Password Credentials     | Authorization |
 | Client  |                                  |     Server    |
 |         |<--(C)---- Access Token ---------<|               |
 |         |    (w/ Optional Refresh Token)   |               |
 +---------+                                  +---------------+

        Figure 5: Resource Owner Password Credentials Flow

最佳答案

客户端凭据流程仅需要 client_id 和 client_secret。资源所有者流程需要用户密码。

客户端凭证流允许应用程序在不涉及用户上下文的情况下获取 token 。

关于oauth-2.0 - "Resource Owner Password Flow"和 "Client Credentials Flow"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22077487/

相关文章:

oauth-2.0 - WSO2 身份服务器 JWT 承载

asp.net-core - ASP .Net Core 谷歌身份验证

oauth-2.0 - OpenID Connect是否支持“资源所有者密码证书”授予?

javascript - 限制 API 使用

Azure AD 设备流验证_url

oauth-2.0 - 使用Google Picker Oauth2上传时出现服务器拒绝错误

python - 在 Azure Functions 应用程序中存储身份验证 token

node.js - 由于同意屏幕,无法创建 Google oAuth 客户端 ID

authentication - linkedin oauth2登录返回 "504 Gateway Time-out"

python - 如何使用 OAUTH/JWT 与 HANA 建立 Python 连接