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

时间:2020-06-23 23:03:15

标签: api github heroku gitignore

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

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

如何在Heroku而不是GitHub上包含具有API密钥的文件?

我在Express上使用Node JS。

1 个答案:

答案 0 :(得分:3)

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

不是从文件中加载它,而是从环境(即Heroku的recommended best practice)中提取API密钥。确切地检索此值的方式取决于您使用的语言和可能的框架,但是您可以使用heroku config进行设置,例如

heroku config:set API_KEY=some-key

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

import os

api_key = os.getenv("API_KEY", "optional-default")