Я играю с laravel и пытаюсь включить предоставление учетных данных клиента для защиты некоторых конечных точек API.
Для обеспечения некоторого контекста: Я хочу создать API, стоящий между базой данных и несколькими веб-сайтами (и SPA). Так что я смогу провести некоторый мониторинг (что называет веб-сайт / SPA, какие ресурсы) и вообще добавить некоторую безопасность. Таким образом, в этом случае, когда не требуется дополнительная информация для пользователя, лучшим подходом должно быть предоставление клиентских учетных данных для связи между компьютерами.
Я следовал инструкциям кого-то (например, это учебное пособие ) реализовать эти типы грантов, но я застрял ...
Я сделал следующее:
- паспорт загрузки:
composer require laravel/passport
- добавьте поставщика услуг в
config/app.php
: Laravel\Passport\PassportServiceProvider::class,
- миграция:
php artisan migrate
- установка:
php artisan passport:install
- добавление
HasApiTokens
к App\User.php
- добавление
Passport::routes()
to app/Providers/AuthServiceProvider.php
- последний, но не менее важный параметр драйвера для защиты аутентификации:
passport
in config/auth.php
Пока все хорошо. Теперь я создал образец клиента с php artisan passport:client
:
New client created successfully.
Client ID: 3
Client secret: S5s9oEIRm5DNy5ySsr1H6jWlraOCZyF24gcpoDrJ
Теперь, когда я хочу получить токен для этого клиента с помощью почтальона (добавлен в body.formdata
, как указано здесь )
Я получаю следующую ошибку.
{
"error": "unsupported_grant_type",
"error_description": "The authorization grant type is not supported by the authorization server.",
"hint": "Check that all required parameters have been provided",
"message": "The authorization grant type is not supported by the authorization server."
}
Я что-то упустил? Я думал, что сделал все необходимые шаги, чтобы зарегистрировать grant type
?
Спасибо заранее !!