开发者问题收集

如何在 laravel 中使用护照检索访问令牌?

2019-11-29
606

我只是按照 Laravel 官方 中的步骤操作。
我使用 postman 发送 post 请求( http://localhost:7777/my-project/public/oauth/token ),这样我就可以检索访问令牌:

{
  "grant_type" : "password",
  "client_id" : "2",
  "client_secret" : "oxKBv6EnyEXeF6l4FBbkVcLgq2WPnyB9EOdlUpL5",
  "username" : "my_email",
  "password" : "my_password",
  "scope" :""
}

我收到此错误:

{"error":"invalid_credentials","message":"The user credentials were incorrect."}

即使我确定我的凭据是正确的。

3个回答

您的客户端必须设置为密码授予客户端才能使用密码授予:

https://laravel.com/docs/5.5/passport#creating-a-password-grant-client

普通客户端未启用密码授予。

Jamesking56
2019-12-02

请检查您的 oauth_clients 表 - 确保:

  1. 您的 client_id 正确

  2. 您的 client_secret 正确

  3. 您的客户端 password_client 值设置为 1

问题可能出在最后一部分。

Milena Grygier
2019-12-06

如果您使用 客户端凭据 访问 OAuth 令牌,则使用的 grant_type 为 client_credentials

{
  "grant_type" : "client_credentials",
  "client_id" : "2",
  "client_secret" : "oxKBv6EnyEXeF6l4FBbkVcLgq2WPnyB9EOdlUpL5",
  "username" : "my_email",
  "password" : "my_password",
  "scope" :""
}

这里有一些文档遵循这一点:- https://laravel.com/docs/5.4/passport#client-credentials-grant-tokens

swap
2019-12-09