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

标签 laravel oauth-2.0 laravel-passport

据我了解,在搞乱 Laravel Passport 之前,password 授权类型是资源所有者类型,client_credential 用于第一方应用程序,所以基本上路由受 client_credential 保护 可以通过 token 问题自行访问,

我的问题是从密码授予类型颁发的 token 可以访问受 client_credential 保护的路由,而受 api:auth 保护的路由无法通过 client_credential token 访问

最佳答案

这是两种不同的流类型。

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

resource server

The server hosting the protected resources, capable of accepting and responding to protected resource requests using access tokens.

client

An application making protected resource requests on behalf of the resource owner and with its authorization.

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

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

根据实现情况,为这些流发行的 token 可能具有不同的范围。这意味着,这些代币可能具有不同的有效性或可能有限制。此类限制独立于 OAuth 2.0 协议(protocol)。

关于laravel - OAuth2 密码授予类型和 client_credential 授予类型是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49173598/

相关文章:

php - Laravel Passport "auth:api"中间件充当 "web, auth"中间件

laravel - 如何使用 openssl 通过 HTTPS 保护 apache 本地服务器?

php - Laravel 文件不存在 - 文件上传

php - 如何从php中的链接下载视频?

ruby-on-rails - PG undefinedtable 错误关系用户不存在

Laravel Passport createToken 错误

php - Laravel Eloquent 关系——相当于 MYSQL "join"

java - Spring Cloud Gateway + Spring安全资源服务器

c# - WebAPI OAuth 注销 - 如何删除 token Cookie?

php - Laravel 5.4 Passport 日志用户操作(可选 auth :api)