【问题标题】:GIT/Heroku sensitive infoGIT/Heroku 敏感信息
【发布时间】:2013-05-30 04:34:29
【问题描述】:

我在 Heroku 中部署了一个 django 项目。它使用 python-instragram。

我有一个来自我的 instragram 客户的“客户机密”。 我使用 git/github 进行版本控制。

这个 client_secret 是从一个未跟踪的文件中导入的,因为我不想将它放在我的公共 github 存储库中。我做这样的事情:

from core_keys import core_client_secret

CONFIG = {
'client_id': '83d1b794dfc24f5588378f88be67c586',
'client_secret': core_client_secret,
'redirect_uri': 'http://localhost:8515/oauth_callback'
}
api = client.InstagramAPI(**CONFIG)

我已将 core_keys.py 添加到 .gitignore:

*/core_keys.py

当我部署到 heroku 时,应用程序显然无法运行,因为包含 client_secret 的文件没有推送到 heroku,因为它位于 .gitignore 中。

如何在不需要私有仓库的情况下将这个文件放在 heroku 上,我应该使用什么方法?

【问题讨论】:

  • 我对heroku了解不多,但是你不能以某种方式推送文件吗?作为最后的手段,在自定义方法中使用 POST 接收它

标签: python git heroku github instagram


【解决方案1】:

您应该将秘密存储为config vars in the environment

【讨论】:

  • 是的,非常感谢!你能给我举个例子,说明如何将环境变量传递给 python 文件吗?
  • 您不必将它们粘贴到文件中,只需从环境中读取它们即可:stackoverflow.com/questions/5971312/…
【解决方案2】:

只是作为参考,最终这样做了:

在我的开发机器的终端上:

heroku config:set INSTAGRAMSECRET=00000FFFFF

在我需要 Heroku 内部环境变量的文件上:

import os
insta_secret = os.environ['INSTAGRAMSECRET']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2019-10-22
    • 2012-12-26
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多