簡體   English   中英

"message": "關鍵路徑 \\"file:///app/storage/oauth-private.key\\" 在 Laravel 6 中不存在或不可讀"

[英]"message": "Key path \"file:///app/storage/oauth-private.key\" does not exist or is not readable" in Laravel 6

嘗試使用 Laravel 護照 Api 登錄時,在 Heroku 服務器中出現錯誤。 遷移和密鑰生成一切正常。 但在本地工作正常。

任何人都可以幫助我如何使用以下命令在 heroku 服務器中生成此密鑰:

heroku run php artisan passport:key

感謝您的寶貴時間。 完整的錯誤信息

{
"message": "Key path \"file:///app/storage/oauth-private.key\" does not exist or is not readable",
"exception": "LogicException",
"file": "/app/vendor/league/oauth2-server/src/CryptKey.php",
"line": 48,
"trace": [
    {
        "file": "/app/vendor/laravel/passport/src/PassportServiceProvider.php",
        "line": 243,
        "function": "__construct",
        "class": "League\\OAuth2\\Server\\CryptKey",
        "type": "->"
    },
    {
        "file": "/app/vendor/laravel/passport/src/PassportServiceProvider.php",
        "line": 209,
        "function": "makeCryptKey",
        "class": "Laravel\\Passport\\PassportServiceProvider",
        "type": "->"
    }
]

}

你沒有提到你的安裝步驟。 假設您執行了以下操作:

composer require laravel/passport

在 config/app.php 中注冊服務提供者

Laravel\Passport\PassportServiceProvider::class,

運行遷移

php artisan migrate

最后使用生成密鑰

php artisan passport:install

Laravel PassPort 使用使用非對稱加密算法的 oauth2。 所以你必須生成公鑰和私鑰。 你只需要在你的 Laravel 項目中輸入這個命令來生成這些密鑰。 它們將位於存儲文件夾中。

php artisan passport:keys

有關更多信息,請參閱 laravel 文檔。 Laravel 文檔: https ://laravel.com/docs/8.x/passport#password-grant-tokens

另一種解決方案是轉到 .gitignore 文件並刪除 ***

貯存 / *。 鑰匙

*** 推送到 github 之前的行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM