我使用Laravel Passport进行API身份验证。我已经设置了密码凭据授予,但它确实有效。现在我需要一个客户端凭证授予机器到机器的身份验证。
我用php artisan passport:client --client
创建了一个新客户端。我试图用这个主体(使用Insomnia)向/ 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
param应该是client_secret
而不是。
来自文档:https://laravel.com/docs/master/passport#client-credentials-grant-tokens