Как использовать приложение Firebase без google_services.json?

У меня следующая проблема. Я создал проект, используя Firebase в качестве серверной части, и кто-то спрашивает меня об этом проекте. Я отправил ему проект, но без файла google_services.json. По известным причинам Android Studio жалуется, что не может запустить проект, потому что:

google_services.json file is missing

Сохраняется ли еще и google_services.json отправить? Если я пришлю файл, сможет ли он увидеть все мои базы данных? Или как мой друг может использовать приложение, которое я ему отправил?

Я не думаю, что это плохо - отправлять ваш google_services.json ... поскольку любой может декомпилировать ваш apk в любое время. Основная безопасность, которую вы должны соблюдать, - это правила в firebase.

Christophe Chenel 12.11.2018 18:20

Вы думаете или уверены? В этом приложении нет аутентификации. Есть только некоторые чтения.

Joan P. 12.11.2018 18:34

хорошо, тогда просто исправьте свои правила firebase ... но эй ... как вы управляете своими правилами, если нет Auth? читать правда, писать ложь?

Christophe Chenel 12.11.2018 18:38

Я не. Вот почему я сказал, что аутентификации нет, это просто приложение, которое считывает некоторые данные.

Joan P. 12.11.2018 18:39
0
4
155
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Поскольку вы не используете аутентификацию, настройте свои правила следующим образом:

{
"rules": 
 {
    ".read": true,
    ".write": false
 }
}

Нет опасности передать ваш google_services.json, поскольку он прикреплен только к этой базе данных. Если вам действительно нужна безопасность, добавьте аутентификацию и настройте свои правила.

Обратите внимание, теперь вы не сможете записывать данные в свою базу данных, кроме как со стороны сервера (firebase-admin в облачных функциях). Таким образом, вы можете создать некоторые облачные функции, которые будут записывать данные, которые вы отправляете, например, через HTTP-запрос.

Спасибо за ответ.

Joan P. 12.11.2018 19:07
Ответ принят как подходящий

Is it save to send the google_services.json as well?

google_services.json содержит данные конфигурации, необходимые вашему приложению для поиска своего проекта Firebase на серверах. Однако это не позволяет автоматически получить доступ к проекту.

If I'll send the [google_services.json] file, will he be able to see all my databases?

Это зависит от правил безопасности ваших баз данных. Если вы сделали их общедоступными, ваш друг сможет читать / писать в них. Но то же самое произойдет и со всеми остальными, кто обнаружит URL / ID вашего проекта.

Чтобы предотвратить это, вы захотите установить определенные правила доступа для своих баз данных. Для начала я настоятельно рекомендую прочитать документацию по правилам безопасности для База данных в реальном времени и Cloud Firestore. Также есть отличное видео с саммита Firebase в прошлом месяце: Пять советов по защите вашего приложения.

Да, это то, что мне нужно сделать, я начну с документации по правилам безопасности. Спасибо за полезный ответ и полезные ресурсы.

Joan P. 12.11.2018 19:06

Другие вопросы по теме