У меня следующая проблема. Я создал проект, используя Firebase в качестве серверной части, и кто-то спрашивает меня об этом проекте. Я отправил ему проект, но без файла google_services.json. По известным причинам Android Studio жалуется, что не может запустить проект, потому что:
google_services.json file is missing
Сохраняется ли еще и google_services.json отправить? Если я пришлю файл, сможет ли он увидеть все мои базы данных? Или как мой друг может использовать приложение, которое я ему отправил?
Вы думаете или уверены? В этом приложении нет аутентификации. Есть только некоторые чтения.
хорошо, тогда просто исправьте свои правила firebase ... но эй ... как вы управляете своими правилами, если нет Auth? читать правда, писать ложь?
Я не. Вот почему я сказал, что аутентификации нет, это просто приложение, которое считывает некоторые данные.
Поскольку вы не используете аутентификацию, настройте свои правила следующим образом:
{
"rules":
{
".read": true,
".write": false
}
}
Нет опасности передать ваш google_services.json, поскольку он прикреплен только к этой базе данных. Если вам действительно нужна безопасность, добавьте аутентификацию и настройте свои правила.
Обратите внимание, теперь вы не сможете записывать данные в свою базу данных, кроме как со стороны сервера (firebase-admin в облачных функциях). Таким образом, вы можете создать некоторые облачные функции, которые будут записывать данные, которые вы отправляете, например, через HTTP-запрос.
Спасибо за ответ.
Is it save to send the
google_services.jsonas 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 в прошлом месяце: Пять советов по защите вашего приложения.
Да, это то, что мне нужно сделать, я начну с документации по правилам безопасности. Спасибо за полезный ответ и полезные ресурсы.
Я не думаю, что это плохо - отправлять ваш google_services.json ... поскольку любой может декомпилировать ваш apk в любое время. Основная безопасность, которую вы должны соблюдать, - это правила в firebase.