laravel - Laravel Passport 客户端凭证授予
问题描述
我使用 Laravel Passport 进行 API 身份验证。我已经设置了密码凭据授予并且它有效。现在我需要一个客户端凭据授权来进行机器对机器的身份验证。
我用
php artisan passport:client --client
. 我试图用这个身体向 /oauth/token 提出请求(失眠):
{
"client_id":3,
"secret":"wJWuVVydkHIQQ6gC7xvd0eEKytIFAD3pa149e6TR",
"grant_type":"client_credentials"
}
这是我从 Passport 得到的回复:
{
"error": "invalid_client",
"error_description": "Client authentication failed",
"message": "Client authentication failed"
}
有谁知道为什么它是一个无效的客户?
这是我的客户端的 oauth_clients 表中的条目,导出为 json:
{
"id":"3",
"user_id":null,
"name":"ClientCredentials Grant Client",
"secret":"wJWuVVydkHIQQ6gC7xvd0eEKytIFAD3pa149e6TR",
"redirect":"",
"personal_access_client":"0",
"password_client":"0",
"revoked":"0",
"created_at":"2019-04-30 17:06:17",
"updated_at":"2019-04-30 17:06:17"
}
解决方案
在您的请求中,secret
应该client_secret
改为使用参数。
来自文档:https ://laravel.com/docs/master/passport#client-credentials-grant-tokens
推荐阅读
- wpf - MvvmCross 和 Xamarin.Forms.Wpf
- javascript - 有什么方法可以访问在函数中添加了事件侦听器的元素?
- php - 从数据库中提取数据。如何编写循环函数 PHP MYSQL
- sql - 如何计算四分位数范围
- node.js - Discord.js 用于删除所有不是机器人命令的消息
- javascript - Javascript 正则表达式:从多个锚标记中删除除 href 之外的所有属性。不能在正则表达式中包含双引号
- javascript - 如何编号每个
- 在我的
- 或使用项目符号列出它们
- javascript - Javascript Intl.DateTimeFormat hours12 在 Chrome 上给出奇怪的输出
- javascript - 为什么“输入”事件具有“事件”类型的事件而不是“输入事件”
- vue.js - Vue.js 如何从组件更改应用程序数据