Я пытаюсь разработать успокоительный API, используя токен для аутентификации с использованием Laravel 5.3. Я также добавил паспорт laravel и подумал, что это поможет мне быстрее построить API. Ресурс, который я хотел бы предоставить через api, является общим для всех пользователей, ничего конкретного для пользователя. Итак, я решил использовать тип предоставления: учетные данные клиента. Я не смог найти какую-либо помощь об этом типе гранта в документации Laravel
https://github.com/laravel/passport/pull/34/files эта ссылка показывает, что тип паспорта клиента добавлен в паспорт laravel. но когда я пытаюсь дать тип предоставления в качестве учетных данных клиента
$http = new \GuzzleHttp\Client;
$response = $http->post('http://site.dev/oauth/token', [
'form_params' => [
'grant_type' => 'client_credentials',
'client_id' => config('api.client_id'),
'client_secret' => config('api.client_secret'),
'redirect_uri' => config('api.redirect_uri'),
],
]);
выдает ошибку в используемом типе гранта.
Я использовал метод учетных данных клиента, потому что это был вызов между компьютерами. Я получил ошибку типа {«error»: «Unauthenticated.» } `при использовании почтальона. Я использовал тип доступа и заголовки авторизации, но получал ту же ошибку. Тогда я погуглил и попробовал метод, описанный в ссылке ниже. Это сработало. 🙂 🙂 http://filljoyner.com/2017/03/01/how-to-use-client-credentials-grant-tokens-for-your-api-authorization-with-laravel-5-4s-passport/
Когда вы устанавливаете Laravel Passport, одна установка пароля устанавливается по умолчанию в таблице oath_clients, но столбец password_client должен быть 1, а не 0.
Тогда вы отправляете немного data_data to /oauth/token
URL и получить access_token
взамен