Après la configuration du passeport, j'ai configuré et créé un contrôleur pour gérer l'inscription-connexion et l'accès à une ressource pour une demande de publication externe générale. Je n'ai pas besoin d'un client spécifique. Mais lorsque j'essaie de créer un jeton dans l'inscription ou dans la connexion:
$tokenObj=$user->createToken('APPLICATION')->accessToken;
L'erreur est:
RuntimeException: client d'accès personnel introuvable. Veuillez en créer un. dans le fichier C:\xampp7.1\htdocs\passport\vendor\laravel\passport\src\ClientRepository.php on line 94 Trace de pile: 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
Comment puis-je le résoudre?
Vous devez d'abord créer des clients d'accès. Il est documenté ici . Un client d'accès n'est pas le même qu'un jeton d'utilisateur, vous pouvez avoir un client d'accès et plusieurs utilisateurs avec des mots de passe et des jetons différents.
pour moi, il a résolu en exécutant
php artisan passport:install
car cela s'est produit après l'actualisation de ma base de données.
En plus du commentaire de la namelivia. Comme Laravel doc dit:
Avant que votre application puisse émettre des jetons d'accès personnels, vous devez créer un client d'accès personnel. Vous pouvez le faire en utilisant la commande passport: client avec l'option --personal. Si vous avez déjà exécuté la commande passport: install, vous n'avez pas besoin d'exécuter cette commande:
php artisan passport:client --personal
Mais si vous n'avez pas exécuté la commande:
php artisan passport:install
Vous devez l'exécuter en premier.