Laravel Passport не может проверить мой недавно сгенерированный токен - PullRequest
0 голосов
/ 29 августа 2018

Внезапно мое приложение перестало работать при попытке доступа к конечным точкам, защищенным промежуточным программным обеспечением auth:api в серверной части Laravel 5.6.35, с использованием Passport 7.0.1.

Проблема в том, что он генерируется при регистрации и входе в систему.

return Response::json([
    'token' => $user->createToken('foobar')->accessToken,
    'user' => $user
], HTTPResponse::$HTTP_OK);

При получении доступа к маршрутам, относящимся к промежуточному программному обеспечению auth:api, Insomnia rest покажет следующее:

«message»: «Не аутентифицирован».

Он работал до часа назад и остановился после того, как я обновил базу данных. Я удалил и создал нового, зарегистрировал тестового пользователя и попытался получить доступ к конечной точке, передав ей токен как токен Bearer и заголовок Accept на application/json. Я делал это много раз, всегда запуская php artisan passport:install --force после каждого обновления.

enter image description here

Я не знаю, как это решить. Я видел, где он терпел неудачу в TokenGuard.php файле, но что делать? Почему это внезапно остановилось?

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Причина проблемы заключалась в том, что я установил другое поле в качестве первичного ключа таблицы users, и это вызывало ошибку в автоматически сгенерированных таблицах Passport.

0 голосов
/ 29 августа 2018

вы должны переустановить паспорт после обновления базы данных. Тогда сгенерируется только токен

php artisan паспорт: установить

...