Symfony 5 Heroku 无法从给定的配置创建签名的 JWT

Dem*_* St 2 heroku symfony jwt symfony5

所以,我在 Heroku 中部署了一个 JWT 项目,并收到以下错误

 Uncaught PHP Exception Lexik\Bundle\JWTAuthenticationBundle\Exception\JWTEncodeFailureException: "Unable to create a signed JWT from the given configuration." at /app/vendor/lexik/jwt-authentication-bundle/Encoder/LcobucciJWTEncoder.php line 38
Run Code Online (Sandbox Code Playgroud)

.env

APP_ENV=prod
APP_SECRET=4b3623b38e2d6ba78fe9vdfx59dc3dd5
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE=pass
DATABASE_URL="sqlite:///%kernel.project_dir%/var/task.db"
Run Code Online (Sandbox Code Playgroud)

在 git cmd 中我也这样做了,但没有成功。

heroku config:set APP_ENV=prod
heroku config:set JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
etc
Run Code Online (Sandbox Code Playgroud)

在 localhost 中,它运行良好,JWT 令牌生成正常,但在 heroku 中,我收到上述错误。

小智 9

如果您使用 lexit,您是否考虑过在生产环境中重新生成私钥和公钥?

php bin/console lexik:jwt:generate-keypair    
Run Code Online (Sandbox Code Playgroud)