需要Firebase JSON的Django应用的Heroku配置?

我在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。

jxs121000 回答:需要Firebase JSON的Django应用的Heroku配置?

可以在服务器上拥有一个需要手动修改一次的文件,就像环境变量一样。一种解决方法是

  • 在您的git中添加(并提交)虚拟对象(修订或更改机密)firebase.json
  • 将更新后的提交拉到您的服务器上,并用实际的{\ n1}手动修改/替换虚拟firebase.json

由于json是一个配置文件,并且几个月都不会更改,因此您可以简单地忽略服务器上的本地更改(并确保您不会意外隐藏/清除它)。这样,您可以确保每个人都有配置文件(本地,暂存和生产),但是您需要根据所需的访问级别/环境来更改此文件。

本文链接:https://www.f2er.com/3169530.html

大家都在问