隐藏 Github 中的 API 密钥/文件,但不隐藏 Heroku

kyl*_*e r 1 api github heroku gitignore

我制作了一个使用 API 密钥的小型 Web 应用程序。

如果我为它创建一个单独的文件并将其添加到.gitignore,将其推送到 GitHub,然后执行git push heroku master,我认为 API 密钥不会包含在该站点中。

如何在 Heroku 上而非 GitHub 上包含带有 API 密钥的文件?

我正在使用 Node JS 和 Express。

Chr*_*ris 5

您不能忽略文件并将其推送到 GitHub,因为这需要提交它。Git 的忽略系统仅阻止文件被跟踪。如果你提交了,它就不会再被忽略。

不要从文件中加载它,而是从环境中提取 API 密钥,这是 Heroku推荐的最佳实践。具体如何检索此值取决于您正在使用的语言和可能的框架,但您可以使用设置它heroku config,例如

heroku config:set API_KEY=some-key
Run Code Online (Sandbox Code Playgroud)

这只是设置一个环境变量,因此如果您搜索“您的语言读取环境变量”,您应该找到有关如何读取该值的良好文档。Python 示例可能如下所示

heroku config:set API_KEY=some-key
Run Code Online (Sandbox Code Playgroud)