据我了解,在搞乱 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/