如果我不应该提交 .env,我的生产 Heroku 应用程序如何知道使用什么密钥?

How does my production Heroku app know what secret key to use if I am not supposed to commit .env?

在我的本地文件结构中,我创建了一个名为 .env 的文件来保存我的 JWT 身份验证密钥。当我使用 git 将我的应用程序部署到 Heroku,然后尝试使用 Postman 发送 API 请求时,我收到此消息:

Error: secretOrPrivateKey must have a value

从其他搜索看来,这是因为我没有在该信息所在的位置部署我的 .env 文件。但是,网络也明确表示您不应该部署该文件。

这就是我问的原因,我的应用程序究竟应该如何在没有 .env 可用的密钥的情况下对 JWT 进行编码?

.env 本身只是一种填充 environment variables on your local machine. Heroku supports configuration via environment variables out of the box.

的便捷方式

您可以set a variable使用

heroku config:set SOME_VAR=some_value

或使用 web-based 仪表板。