Laravel 6中的“消息”:“密钥路径\” file:///app/storage/oauth-private.key \”不存在或不可读

时间:2019-12-24 03:23:37

标签: php laravel heroku laravel-passport

尝试使用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": "->"
    }
]

}

2 个答案:

答案 0 :(得分:1)

您没有提及安装步骤。假设您已执行以下操作:

composer require laravel/passport

在config / app.php中注册服务提供商

Laravel\Passport\PassportServiceProvider::class,

运行迁移

php artisan migrate

最后使用

生成密钥
php artisan passport:install

答案 1 :(得分:1)

Laravel PassPort 使用使用非对称加密算法的 oauth2。所以你必须生成公钥和私钥。 你只需要在你的 Laravel 项目中输入这个命令来生成这些密钥。它们将位于存储文件夹中。

php artisan passport:keys

更多信息参见laravel文档。 Laravel 文档:https://laravel.com/docs/8.x/passport#password-grant-tokens

另一种解决方法是去.gitignore文件中删除***

<块引用>

存储/ *。键

*** 行 在推送到github之前