在尝试访问资源时,Laravel Passport 显示了这个问题
Key path "file://C:\xampp\htdocs\rental_5.0\storage\oauth-public.key" does not exist or is not readable
在尝试访问资源时,Laravel Passport 显示了这个问题
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问题,这可能会对您有所帮助。
这是因为您没有使用passport密钥生成Oauth密钥。
运行
php artisan passport:keys
然后运行以下命令生成个人访问客户端
php artisan passport:client --personal
输入它要求你的细节,然后你就完成了。
可能 storage/oauth-private.key
和 storage/oauth-public.key
不存在,而您导入了旧的数据库。对于这种情况,请运行以下命令。
php artisan passport:keys
如果您已导入了旧数据库且其中已经存在与passport相关的数据,请尝试此解决方案。否则,请按照被采纳的答案进行操作。
我在Ubuntu中也遇到了同样的错误,问题出在权限上,运行以下命令可以解决这个问题:
sudo chown www-data:www-data storage/oauth-*.key
该命令将更改所选文件的所有者为“www-data”用户,将组设置为“www-data”,从而修复了访问权限问题。
passport
没有正确安装。
解决方法很简单,只需运行以下命令:
php artisan passport:install
我的Windows机器没有安装OpenSSL
bin/openssl.exe
解压到一个环境变量路径目录中(您可以在您的用户文件夹中创建自己的 bin 文件夹并将该路径添加到 Path 变量中)php artisan passport:install
https://github.com/laravel/passport/issues/48#issuecomment-241936338
在Windows系统中,使用git BASH
,您无需安装任何其他软件,只需从BASH
中运行php artisan passport:install
即可。
php artisan install:passport
都可以无问题运行,我的项目也可以在网络上访问。
当我要求php artisan route:list
时,我收到了这个异常:
[LogicException]
Key path "file:///app/storage/oauth-private.key" does not exist or is not readable
这对我来说与上面的内容相同。
我也成功地完成了所有本地操作。在这些步骤之后,git显示我的密钥已经存储在我的存储文件夹中,所以我提交并将它们推送到Heroku。
这解决了问题,现在在Heroku上一切都正常。
(在这里和那里使用相同的密钥是否可以?)
heroku ps:exec
命令,然后运行php artisan passport:keys
命令。 - David L本地系统一切正常,但在生产系统上遇到了同样的问题。在我的情况下,Git 由于合理的原因忽略了密钥。
在生产服务器上执行 php artisan passport:keys
后一切运行良好。
ls -la
看起来很好) - 所以我在另一台机器上生成了那些密钥并将其复制到服务器上 - 然后php artisan passport:install
开始工作。
openssl
可执行文件的位置在哪里? - Ohgodwhy