Грант Laravel Passport Client Credentials - PullRequest
0 голосов
/ 30 апреля 2019

Я использую Laravel Passport для своей аутентификации API.Я уже настроил грант на получение пароля, и он работает.Теперь мне нужно предоставить клиентские полномочия для аутентификации между компьютерами.
Я создал новый клиент с php artisan passport:client --client.Я пытался сделать запрос к / oauth / токену с этим телом (с бессонницей):

{
    "client_id":3,
    "secret":"wJWuVVydkHIQQ6gC7xvd0eEKytIFAD3pa149e6TR",
    "grant_type":"client_credentials"
}

Вот ответ, который я получаю из паспорта:

{
  "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 Ответ

2 голосов
/ 30 апреля 2019

В вашем запросе параметр secret должен быть client_secret.

Из документов: https://laravel.com/docs/master/passport#client-credentials-grant-tokens

enter image description here

...