2013-05-30 62 views
0

我在Heroku中部署了一个django项目。它使用python-instragram。GIT/Heroku敏感信息

我有一个来自我有一个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文件是不显着的工作因为它在.gitignore中没有推到heroku。

如何在不需要私人回购的情况下在heroku上拥有此文件,我应该使用哪种方法?

+0

我对heroku了解不多,但是不能以某种方式推送文件吗?作为最后的手段,有没有收到一个POST的自定义方法 – goncalopp

回答

3

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

+0

是的,这是完美的谢谢!你可以给我一个例子,说明如何将这个环境变量传递给一个python文件? – edu222

+1

您不必将它们粘贴到文件中,只需从环境中读取它们即可:http://stackoverflow.com/questions/5971312/how-to-set-environmental-variables-in-python – friism

0

只是作为参考,最终做这样的:在我的机器

在终端:

heroku config:set INSTAGRAMSECRET=00000FFFFF 

在我需要的环境VAR内的Heroku的文件:

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