リソースにアクセスしようとしているときにこれを示すLaravelパスポート
Key path "file://C:\xampp\htdocs\rental_5.0\storage\oauth-public.key" does not exist or is not readable
インストール手順については言及しません。次のことを行ったと仮定します。
composer require laravel/passport
config/app.php
内にサービスプロバイダーを登録します
Laravel\Passport\PassportServiceProvider::class,
移行を実行する
php artisan migrate
最後に使用してキーを生成します
php artisan passport:install
Windowsで試しているようです。 Windows上のOpenSSLの問題 を見たので、助けになるかもしれません。
OpenSSLがWindowsマシンにインストールされていません
bin/openssl.exe
を環境変数パスディレクトリに抽出します(ユーザーフォルダーなどに独自のbinフォルダーを作成し、そのパスをパス変数に追加できます)php artisan passport:install
を実行しますhttps://github.com/laravel/passport/issues/48#issuecomment-241936338
Windowsでgit BASH
を使用すると、追加のソフトウェアをインストールする必要はありません。BASH
からphp artisan passport:install
を実行するだけで機能します。
passport
が正しくインストールされていないため、このエラーが発生します
解決策はこのコマンドを実行するだけです:
php artisan passport:install
これは、パスポートキーを使用してOauthキーを生成しなかったためです。
走る
php artisan passport:keys
その後、次のコマンドを実行して、パーソナルアクセスクライアントを生成します
php artisan passport:client --personal
尋ねる詳細を入力します。これで完了です。
Herokuを使用します。私の知る限り、HerokuはデフォルトでOpenSSLサポートを追加します( https://devcenter.heroku.com/articles/php-support )。
php artisan install:passport
のようなすべてのものは問題なく実行され、私のプロジェクトはWebでも利用できます。
php artisan route:list
を要求すると、次の例外を受け取りました。
[LogicException]
Key path "file:///app/storage/oauth-private.key" does not exist or is not readable
上記と同じように思えます。
私もすべてローカルで成功しました。これらの手順の後、gitはキーをストレージフォルダーに格納していることを示したので、コミットしてHerokuにプッシュしました。
これで問題が解決しました。Herokuでも問題はありません。
(同じキーをあちこちに持っていても大丈夫ですか?)
Ubuntuでも同じエラーが発生しましたが、私の場合は権限に問題があり、これを実行すると問題が解決しました:
Sudo chown www-data:www-data storage/oauth-*.key
私の場合、それはうまくいきません-私はすべてを試します-おそらくファイルアクセスに問題があります(ただしls -la
はうまく見えます)-他のマシンでそのキーを生成し、サーバーにコピーします-そしてphp artisan passport:install
startは動作します
多分 storage/oauth-private.key
およびstorage/oauth-private.key
は存在せず、古いデータベースをインポートしました。このシナリオでは、次のコマンドを実行してください。
php artisan passport:keys
パスポート関連のデータがすでに保存されている古いデータベースをインポートした場合は、このソリューションを試してください。それ以外の場合は、受け入れられた回答に従ってください。
これが理想的な解決策であるかどうかはわかりませんが、/storage/*.key
from .gitignore
その後、プッシュすることで、私にとってはうまくいきました。
password_client
テーブルのoauth_clients
値を手動で1
に設定し、それが機能しました。
ローカルシステムではすべてが正常に機能し、本番システムでも同じ問題に直面していました。私の場合、gitは正当な理由でキーを無視しました。実行されたphp artisan passport:keys
本番サーバーではすべてが機能しました。