Passport laravel createToken Personal access client not found
After setup of passport, I have configured and created a controller to manage Register-Login- and - access to a resource for a general external post request. I do not need for a specific client. But when I try to create a token in the registration or in the login:
$tokenObj=$user->createToken('APPLICATION')->accessToken;
The error is:
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
How can I solve it?
for me it solved by running
php artisan passport:install
because it have been happened after refreshing my database.
You have to create access clients first. It is documented here. An access client it not the same than a user token, you can have one access client and many users with different passwords and tokens.
In addition to the namelivia's comment. As Laravel doc says:
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
But if you did not run the command:
php artisan passport:install
You should run it first.
After running the command
php artisan passport:client --personal
and give you this prompt
What should we name the personal access client? [Artisan Personal Access Client]:
don't worry just type in any name and press the enter key.