Я успешно установил API паспорта в laravel, я могу получить access_token, используя запрашивающие токены, такие как
Route::get('/redirect', function () {
$query = http_build_query([
'client_id' => '1',
'redirect_uri' => 'http://example.com/callback',
'response_type' => 'code',
'scope' => '',
]);
return redirect('http://localhost:8000/oauth/authorize?'.$query);
});
, но когда я использую токены предоставления пароля, created by php artisan passport:client --password
, используя имя пользователя и пароль, я получаю unsupported_grant_type
мой запрос
$http = new GuzzleHttp\Client;
$response = $http->post('http://localhost:8000/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => '3',
'client_secret' => 'sqgaA8HOBUZBBZwWnl4xhyDE7LWyhAhlG5BZa199',
'username' => 'myusername',
'password' => 'mypassword',
'scope' => '',
],
]);
return json_decode((string) $response->getBody(), true);
Я получаю такую ошибку;
{
"error": "unsupported_grant_type",
"message": "The authorization grant type is not supported by the authorization server.",
"hint": "Check the `grant_type` parameter"
}
моя таблица oauth_clients:
id => 3
user_id => 1
name => Laravel Password Grant Client
secret => sqgaA8HOBUZBBZwWnl4xhyDE7LWyhAhlG5BZa199
redirect => http://localhost
personal_access_client => 0
password_client => 1
revoked => 0
created_at => 2019-03-27 15:46:10
updated_at => 2019-03-27 15:46:10