我制作了一个使用API密钥的小型Web应用程序。
如果我为此制作一个单独的文件并将其添加到.gitignore
,将其推送到GitHub,然后执行git push heroku master
,则我认为该站点中不包含API密钥。
如何在Heroku而不是GitHub上包含具有API密钥的文件?
我在Express上使用Node JS。
答案 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")