web-dev-qa-db-fra.com

Laravel Passport Key chemin oauth-public.key n'existe pas ou n'est pas lisible

Passeport Laravel montrant cela tout en essayant d'accéder à une ressource

Key path "file://C:\xampp\htdocs\rental_5.0\storage\oauth-public.key" does not exist or is not readable

15
Sabri Aziri

Vous ne mentionnez pas vos étapes d'installation. Je suppose que vous avez fait ce qui suit:

composer require laravel/passport

Enregistrez le fournisseur de services dans config/app.php

Laravel\Passport\PassportServiceProvider::class,

Exécuter les migrations

php artisan migrate

Enfin générer les clés en utilisant

php artisan passport:install

Je vois que vous l'essayez sous Windows. J'ai vu un problème OpenSSL sous Windows , pourrait vous aider.

43
Leon Vismer

OpenSSL n'était pas installé sur ma machine Windows 

  1. Télécharger GnuWi
  2. Extrayez bin/openssl.exe dans un répertoire de chemin de variable d’environnement (vous pouvez créer votre propre dossier bin dans votre dossier d’utilisateur ou quelque chose de ce type et ajouter ce chemin à la variable de chemin)
  3. Ouvrir une nouvelle invite de commande (les variables existantes peuvent ne pas avoir les variables d'environnement les plus récentes)
  4. Exécuter php artisan passport:install

https://github.com/laravel/passport/issues/48#issuecomment-24193636338

Édité

Dans Windows en utilisant git BASH, vous n'avez pas besoin d'installer de logiciel supplémentaire. N'exécutez que php artisan passport:install à partir de BASH et cela devrait fonctionner.

2
Sabri Aziri

Nous obtenons cette erreur parce que passport n'est pas installé correctement

La solution est simple, lancez cette commande:

php artisan passport:install
2
Udhav Sarvaiya

J'utilise Heroku. Pour autant que je sache, Heroku ajoute le support OpenSSL par défaut ( https://devcenter.heroku.com/articles/php-support ).

Tout, comme php artisan install:passport, s’est déroulé sans problème et mon projet est également disponible sur le Web.

Quand j'ai demandé php artisan route:list, j'ai reçu cette exception:

[LogicException]
  Key path "file:///app/storage/oauth-private.key" does not exist or is not readable

Ce qui me semble le même que ci-dessus.

J'ai tout fait aussi local avec succès. Après ces étapes, git a montré que la clé était archivée dans mon dossier de stockage. Je me suis donc engagé et je l'ai transmise à Heroku.

Cela a résolu le problème, maintenant tout va bien aussi sur Heroku.

(Est-ce que ça va, d'avoir les mêmes clés ici et là?)

2
laze

Avait la même erreur avec Ubuntu et dans mon cas, le problème était avec les autorisations, en cours d'exécution, ceci a résolu le problème 

Sudo chown www-data:www-data storage/oauth-*.key

0
bruddha

J'ai défini manuellement ma valeur password_client dans la table oauth_clients sur 1 et tout a fonctionné.

0
Allan Mwesigwa

Tout a bien fonctionné sur le système local et a rencontré le même problème sur le système de production. Dans mon cas, git a ignoré les clés pour une bonne raison .. Juste d'exécuter php artisan passport:keys sur le serveur de production, tout a fonctionné.

0
Ramesh Navi