Паспорт laravel createToken Личный клиент доступа не найден

После настройки паспорта я настроил и создал контроллер для управления регистрацией-логином и доступом к ресурсу для общего внешнего почтового запроса. Мне не нужно для конкретного клиента. Но когда я пытаюсь создать токен в регистрации или в логине:

$tokenObj=$user->createToken('APPLICATION')->accessToken;

Ошибка:

RuntimeException: Personal access client not found. Please create one. in file C:\xampp7.1\htdocs\passport\vendor\laravel\passport\src\ClientRepository.php on line 94 Stack trace: 1. RuntimeException->() C:\xampp7.1\htdocs\passport\vendor\laravel\passport\src\ClientRepository.php:94 2. Laravel\Passport\ClientRepository->personalAccessClient() C:\xampp7.1\htdocs\passport\vendor\laravel\passport\src\PersonalAccessTokenFactory.php:71

Как я могу это решить?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
53
0
88 765
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Ответ принят как подходящий

Сначала необходимо создать клиентов доступа. Это задокументировано здесь. Клиент доступа — это не то же самое, что токен пользователя, у вас может быть один клиент доступа и много пользователей с разными паролями и токенами.

для меня это решилось запуском

php artisan passport:install

потому что это произошло после обновления моей базы данных.

Есть ли способ запуска этой команды автоматически после обновления базы данных?

Floris 10.06.2020 22:00

В дополнение к комментарию namelivia. Как говорит документ Laravel:

Before your application can issue personal access tokens, you will need to create a personal access client. You may do this using the passport:client command with the --personal option. If you have already run the passport:install command, you do not need to run this command:

php artisan passport:client --personal

Но если вы не выполнили команду:

php artisan passport:install

Вы должны запустить его в первую очередь.

Если вас не беспокоит имя, просто используйте php artisan passport:client --personal --no-interaction

Ben Gooding 07.03.2021 15:48

После запуска команды

php artisan passport:client --personal

и дать вам эту подсказку

 What should we name the personal access client? [Artisan Personal Access Client]:

не волнуйтесь, просто введите любое имя и нажмите клавишу ввода.

Если вас не беспокоит имя, просто используйте php artisan passport:client --personal --no-interaction

Ben Gooding 07.03.2021 15:47

Просто запустите эту команду

php artisan passport:install --force

у меня была одна и та же ошибка снова и снова, но я не знал, как ее воспроизвести, но я понял, почему. когда вы выполняете php artisan passport:install, он сохраняет два идентификатора клиентов в базе данных после команды мигрировать, но если вы снова свежая миграция, очевидно, что вы потеряете эти два предыдущих идентификатора, поэтому эта ошибка была показана после выполнения команды установки.

ОБНОВИТЬphp artisan passport:install -f заставит воссоздать идентификаторы для новой перенесенной базы данных.

я должен звонить

php artisan passport:install

каждый раз, когда я бегу

php artisan:migrate

есть способ сделать это правильно?

Я думаю, что вам нужно бежать php artisan passport:install --force только после того, как вы бегаете php artisan migrate:fresh.

The Blind Hawk 23.12.2021 10:37

Другие вопросы по теме