2013-05-30 204 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']