Объект конфигурации Firebase размещен на github

avatar
MasterWilliams
9 августа 2021 в 06:44
285
2
2

Последние несколько недель я работал над личным проектом и использовал 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, чтобы при публикации проекта не было проблем с людьми, пытающимися вмешаться в мой сервер?

Или есть другой вариант?

Источник

Ответы (2)

avatar
VonC
9 августа 2021 в 06:58
2

Помимо сброса ключа, вы можете использовать git filter-repo (см. INSTALL), чтобы переписать все коммиты, изменив содержимое файла этой версии с помощью <435947 >обратный вызов blob.

Вы должны заменить apiKey: "..." на apiKey: "XXX".

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

Таким образом, история кода будет основываться на имени переменной среды, а не на старом значении ключа.

avatar
flaneurx
9 августа 2021 в 06:54
1

Вы можете перейти к Учетным данным Google Cloud, там нажать «Ключ API» (вероятно, ключ браузера), и в верхней части страницы у вас будет возможность сбросить ключ API. То же самое касается идентификатора клиента OAuth. После этого используйте эти новые учетные данные, которые вы можете найти в firebase> обзор проекта> настройки проекта.

Я предлагаю использовать переменные среды, чтобы скрыть ваши ключи API