首页 > 解决方案 > 发布在 github 上的 Firebase 配置对象

问题描述

过去几周我在做一个个人项目,并使用 github 作为 VCS,但现在我想将该项目公开,所以我必须问下一件事。

我忘记为 firebase 配置对象创建一个单独的文件并将其添加到 gitignore,因此如果您搜索它,它在项目中可见

var firebaseConfig = {
  apiKey: "API_KEY",
  authDomain: "PROJECT_ID.firebaseapp.com",
  databaseURL: "https://PROJECT_ID.firebaseio.com",
  projectId: "PROJECT_ID",
  storageBucket: "PROJECT_ID.appspot.com",
  messagingSenderId: "SENDER_ID",
  appId: "APP_ID",
  measurementId: "G-MEASUREMENT_ID",
};

该对象包含这些数据,我的问题是,我可以做任何事情来保护 firebase 帐户,以便在我发布项目时不会出现人们试图弄乱我的后端的问题吗?

或者还有其他选择吗?

标签: javascriptgitfirebasegithub

解决方案


除了重置您的密钥之外,您还可以使用git filter-repo参见 INSTALL)来重写所有提交,使用blob 回调更改该版本文件的内容。

您将替换apiKey: "..."apiKey: "XXX".

git filter-repo --blob-callback '
    blob.data = blob.data.replace(b"yourKey", b"AN_ENVIRONMENT_VARIABLE")
'

这样,您的代码历史记录将基于环境变量名称,而不是旧的键值。


推荐阅读