Ajoy
Ajoy

Reputation: 209

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

Getting error in Heroku server when try to login with Laravel passport Api. Migration and key generation every working fine. But working fine locally.

Can anyone help me how to generate this key in heroku server by using :

heroku run php artisan passport:key

Thank you for your valuable time. Full error message

{
"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": "->"
    }
]

}

Upvotes: 2

Views: 4302

Answers (2)

Yuri
Yuri

Reputation: 275

Laravel PassPort uses oauth2 which uses an asymmetric encryption algorithm. So you have to generate the public and private keys. You just have to type this command in your Laravel project to generate these keys. They will be in the storage folder.

php artisan passport:keys

For more information, see the laravel document. Laravel Doc : https://laravel.com/docs/8.x/passport#password-grant-tokens

Another solution is to go to the .gitignore file and delete the ***

storage / *. Keys

*** line before pushing to github

Upvotes: 1

VIKAS KATARIYA
VIKAS KATARIYA

Reputation: 6005

You do not mention your installation steps. Presume you did the following:

composer require laravel/passport

Register the service provider inside config/app.php

Laravel\Passport\PassportServiceProvider::class,

Run the migrations

php artisan migrate

Lastly generate the keys using

php artisan passport:install

Upvotes: 2

Related Questions