web-dev-qa-db-fra.com

Passeport laravel createToken Client d'accès personnel introuvable

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?

18
DavidInTheIn

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.

11
namelivia

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.

45

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.

12
Russell Sk.