401 Unauthorized при создании токенов предоставления пароля с помощью паспорта laravel
Я создал api с паспортом и хочу использовать токены предоставления пароля, потому что это больше связано с взаимодействием приложений. Но я получаю сообщение об ошибке ниже, когда пытаюсь получить к нему доступ.
GuzzleHttp\Exception\ClientException
Client error: `POST http://127.0.0.1:8000/oauth/token` resulted in a `401 Unauthorized` response: {"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}
мой маршрут
Route::get('/get_token_by_password', function (Request $request) {
$http = new GuzzleHttp\Client;
$response = $http->post('http://192.168.0.103:8000/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => 13,
'client_secret' => 'f37AwQGsVMiZDVu786KiRdbpn4MXYSBWCvqNcqiC',
'username' => 'developer@ymail.com',
'password' => '123456789',
'scope' => '*',
],
]);
return json_decode((string) $response->getBody(), true);
})->name('get_token_by_password');
Что я делаю не так?
Кроме того, как мне получить жетон с помощью почтальона?
- Как мне получить ссылку, которая будет использоваться в других приложениях, которые хотят использовать мой API
2 ответа
Запрос кажется правильным. Проверьте правильность ключей и клиента. После этого проверьте в БД новое значение client_secret.
php artisan passport:keys
php artisan passport:client --password
Ваш идентификатор клиента и / или секрет клиента неверны, так как ошибка "invalid_client".