Услышав много о паспорте laravel, я подумал о том, чтобы внедрить его в свой новый проект, где мне нужно создать API, который будет использоваться в мобильном приложении.
Так что мое мобильное приложение - это client
, который в дальнейшем будет иметь своих пользователей.
Я выполнил шаги, упомянутые Тейлором, а также прочитал об этом здесь. В двух словах, я следовал этим шагам:
- Установлен
laravel/passport
. - Создан пользователь сайта.
- Сгенерированные ключи паспорта
php artisan passport:install
- Сгенерированные
client_id
иclient_secret
с использованиемphp artisan passport:client
- Добавлены маршруты
redirection
иcallback
вweb.php
- Авторизовал пользователя и получил окончательный токен доступа.
Затем я попытался вызвать api/user
(с Authorization
заголовка, содержащей значение Bearer eyJ0eXAiOiJKV1...(token)
Я получил данные. Довольно просто и аккуратно.
Но у пользователей моего приложения не будет этих деталей. Поэтому я подумал о настройке токенов паролей, которые идеально соответствуют моим требованиям.
Теперь начинается настоящая головная боль. Я пытался настроить это в течение последних 3 дней и постоянно получаю
{"error":"invalid_client","message":"Client authentication failed"}
Я испробовал практически все инструкции, которые следовал в Интернете: проблемы с перенаправлением, добавление решения Atleast One Scope, проблема P100Y и т.д.
Но я все еще получаю invalid client
ошибку invalid client
. Вот что я передаю через POSTMAN в oauth/token
:
{
"grant_type": "password,"
"client_id": "3,"
"client_secret": "8BUPCSyYEdsgtZFnD6bFG6eg7MKuuKJHLsdW0k6g,"
"username": "[email protected],"
"password": "123456,"
"scope": ""
}
Любая помощь будет оценена.