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