I try to install my app on heroku. This app is a php-laravel app with the "passport" for the authentication. All is running fine in my local machine (mac os).
When I try to do a simple 'post' with postman, I have this error :
2018-03-17T17:05:22.059708+00:00 app[web.1]: [17-Mar-2018 17:05:22 UTC] [2018-03-17 17:05:22] production.ERROR: Key path "file:///app/storage/oauth-private.key" does not exist or is not readable {"exception":"[object] (LogicException(code: 0): Key path \"file:///app/storage/oauth-private.key\" does not exist or is not readable at /app/vendor/league/oauth2-server/src/CryptKey.php:45)"} []
To setup passport, I generated the keys with :
php artisan passport:install
And I see the keys in my database in heroku. So the command worked properly.
So what is this error ?
I tried also to regenerate the keys, to stop and restart the application. Without successes.
Thanks for your suggestions. Merci
Dominique
EDIT : in fact, the key files are not generated in the folder app/storage, that's why there is this error. But why these files are not generated ?
The solution is here: https://github.com/laravel/passport/issues/267
Add these few lines into your composer.json
under the "scripts" property, then commit and deploy into Heroku:
"post-install-cmd": [
"php artisan clear-compiled",
"chmod -R 777 storage",
"php artisan passport:keys"
]
But, after that you have to delete the keys from the table "oauth-clients", then regenerate these keys with :
php artisan passport:install
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With