我在Heroku上部署了一个Python Django应用,该应用通过the drf-firebase-auth library使用Firebase(出于多种原因,我必须使用Firebase)。我知道不应将配置检入版本控制中,但我不确定如何避免这种情况。 drf-firebase-auth库要求将Firebase凭证JSON文件保存在我的代码的目录结构中。我该如何实质上通过Heroku环境变量传递此JSON,而无需将JSON文件提交到我的git repo(并推送到Heroku),这样我就可以为转储/生产/等配置合适的配置了?
drf-firebase-auth库指示我将其添加到我的settings.py
中,并将非常敏感的firebase.json
文件保存到我的代码库中:
DRF_FIREBASE_AUTH = {
'FIREBASE_SERVICE_accOUNT_KEY': 'project/config/firebase.json'
}
第3方库中的实现看起来像这样:
import firebase_admin
from drf_firebase_auth.settings import api_settings
...
firebase_credentials = firebase_admin.credentials.Certificate(
api_settings.FIREBASE_SERVICE_accOUNT_KEY
)
firebase = firebase_admin.initialize_app(firebase_credentials)
...
问题是我想避免将此Firebase JSON提交给git以便部署到Heroku。