首页 文章

OAuth2密码授予类型和client_credential授权类型是否相同?

提问于
浏览
1

据我所知,在弄乱Laravel Passport之前, password grant类型是资源所有者类型而 client_credential 是第一方应用程序,所以基本上受 client_credential 保护的路由可以自己访问令牌问题,

我的问题是从密码授予类型发出的令牌可以访问受client_credential保护的路由,受 api:auth 保护的路由不能被 client_credential 令牌访问

1 回答

  • 1

    这是两种不同的流动类型 .

    首先,您需要了解客户端和资源所有者之间的差异 . 这在协议的roles部分清楚地解释 .

    resource server托管受保护资源的服务器,能够使用访问令牌接受和响应受保护资源请求 . 客户端代表资源所有者及其授权进行受保护资源请求的应用程序 .

    现在,您提到的流程使用资源所有者和客户端的凭据 . 客户端凭据流中的客户端是机密客户端 . 这意味着他们与客户保密 .

    在资源所有者密码授予中,您通过呈现资源所有者凭据从令牌 endpoints 获取令牌 . 对于客户端凭据授予类型,您可以通过呈现客户端凭据从令牌 endpoints 获取令牌 . 所以你可以看到它们是两种不同的流程 .

    根据实施情况,为这些流程发放的令牌可能具有不同的范围 . 这意味着,这些令牌可能具有不同的有效性或可能具有限制 . 此类限制与OAuth 2.0协议无关 .

相关问题