【问题标题】:Is OAuth2 Password grant type and client_credential grant types the same?OAuth2 密码授权类型和 client_credential 授权类型是否相同?
【发布时间】:2018-03-08 12:53:03
【问题描述】:

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

我的问题是密码授权类型发出的令牌可以访问受 client_credential 保护的路由,而受 api:auth 保护的路由无法通过 client_credential 令牌访问

【问题讨论】:

    标签: laravel oauth-2.0 laravel-passport


    【解决方案1】:

    这是两种不同的流类型。

    首先您需要了解客户端和资源所有者之间的区别。这在协议的roles 部分有清楚的解释。

    资源服务器

    托管受保护资源的服务器,能够接受和 使用访问令牌响应受保护的资源请求。

    客户

    应用程序代表受保护的资源请求 资源所有者及其授权。

    现在,您提到的流程使用来自资源所有者和客户端的凭据。客户端凭证流中的客户端是机密客户端。这意味着他们有一个客户机密。

    在资源所有者密码授予中,您通过提供资源所有者凭据从令牌端点获取令牌。对于客户端凭据授予类型,您可以通过提供客户端凭据从令牌端点获取令牌。如您所见,它们是两种不同的流程。

    根据实施情况,为这些流发布的令牌可能具有不同的范围。这意味着,这些令牌可能具有不同的有效性或可能有限制。此类限制独立于 OAuth 2.0 协议。

    【讨论】:

    • 哦,我明白了,您的意思是密码授权类型颁发的令牌属于所有者和客户端,这就是为什么令牌可以访问受clientapi:auth 保护的端点。
    猜你喜欢
    • 2021-04-24
    • 2018-11-04
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 2018-07-05
    • 2018-09-07
    相关资源
    最近更新 更多