Laravel Passport客户凭证授予

时间:2019-04-30 18:24:17

标签: laravel laravel-5 oauth-2.0 laravel-passport laravel-5.8

我使用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"
}

1 个答案:

答案 0 :(得分:1)

在您的请求中,secret参数应该改为client_secret

从文档中:https://laravel.com/docs/master/passport#client-credentials-grant-tokens

enter image description here