36
votes

Passport 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 Register-Login- 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'essaye 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 \ passeport \ src \ ClientRepository.php à la ligne 94 Trace de la pile: 1. RuntimeException -> () C: \ xampp7.1 \ htdocs \ passeport \ vendor \ laravel \ passeport \ src \ ClientRepository.php: 94 2. Laravel \ Passport \ ClientRepository-> personalAccessClient () C: \ xampp7.1 \ htdocs \ passeport \ vendor \ laravel \ passeport \ src \ PersonalAccessTokenFactory.php: 71

Comment puis-je le résoudre?


0 commentaires

6 Réponses :


22
votes

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 de nombreux utilisateurs avec des mots de passe et des jetons différents.


0 commentaires

84
votes

pour moi, il a résolu en courant

php artisan passport:install

car cela s'est produit après l'actualisation de ma base de données.


1 commentaires

Existe-t-il un moyen d'exécuter cette commande automatiquement après l'actualisation de la base de données?



23
votes

En plus du commentaire de namelivia. Comme le dit Laravel doc:

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 passeport: client avec l'option --personal. Si vous avez déjà exécuté la commande passeport: install, vous n'avez pas besoin d'exécuter cette commande:

php artisan passport:install

Mais si vous n'avez pas exécuté la commande:

php artisan passport:client --personal

Vous devez d'abord l'exécuter.


0 commentaires

5
votes

Après avoir exécuté la commande

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

et vous donner cette invite

php artisan passport:client --personal

ne vous inquiétez pas, tapez simplement un nom et appuyez sur la touche Entrée.


0 commentaires

1
votes

Exécutez simplement cette commande

php artisan passport:install --force


0 commentaires

0
votes

J'ai eu la même erreur encore et encore mais je ne savais pas comment la reproduire, mais j'ai compris pourquoi. lorsque vous exécutez php artisan passport:install , il stocke les deux ID clients dans la base de données après la commande migrate , mais si vous migrez à nouveau, il est évident que vous perdrez ces deux ID précédents, c'est pourquoi cette erreur a été affichée après l'exécution la commande d'installation.


0 commentaires