json - 需要 Firebase JSON 的 Django 应用程序的 Heroku 配置?

标签 json django firebase heroku configuration

我在 Heroku 上部署了一个 Python Django 应用,该应用通过 the drf-firebase-auth library 使用 Firebase (出于多种原因我必须使用它)。我知道配置不应被 checkin 版本控制,但我不确定在我的情况下如何避免它。 drf-firebase-auth 库要求将 Firebase 凭证 JSON 文件保存在我的代码的目录结构中。我如何本质上通过 Heroku 环境变量传递此 JSON,而不需要将 JSON 文件提交到我的 git 存储库(并推送到 Heroku),以便我可以为暂存/生产/等进行正确的配置设置?

drf-firebase-auth 库指示我将其添加到我的 settings.py 中,并将非常敏感的 firebase.json 文件保存到我的代码库中:

DRF_FIREBASE_AUTH = {
    'FIREBASE_SERVICE_ACCOUNT_KEY': 'project/config/firebase.json'
}

这个第三方库中的实现看起来有点像这样:

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。

最佳答案

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

  • 向您的 git 添加(并提交)一个虚拟对象(编辑或更改 secret )firebase.json
  • 将更新后的提交拉到您的服务器并手动修改/替换虚拟 firebase.json 为实际的

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

关于json - 需要 Firebase JSON 的 Django 应用程序的 Heroku 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58686119/

相关文章:

angular - 在不使用 Firebase 身份验证的情况下设置 Firestore 安全规则

javascript - 仅在 Firebase 中显示带有 RoomID 的消息

c# - Invalidcastexception JsonConvert.DeserializeObject

c# - 替换 JSON 中的转义字符

python - 抽象模型类和多个驱动类中的 Django ForeignKey 导致名称冲突

python - django local_settings导入错误

javascript - 使用纯 JS 对 getJson 进行排序 - 无插件

javascript - 在 Node JS 中访问 JSON 的属性

带有 FCGI 的 Apache 上的 Django

flutter - 检查此函数结果的简写是什么?