我使用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"
}
答案 0 :(得分:1)
在您的请求中,secret
参数应该改为client_secret
。
从文档中:https://laravel.com/docs/master/passport#client-credentials-grant-tokens