Я работаю над Android-приложением, которое читает с Firebase database. Пользователи приложения не будут регистрировать или изменять базу данных. Все пользователи приложений будут искать одни и те же данные; Я использую Firebase для своих функций обновления в реальном времени.Ограничить доступ базы данных Firebase к одному Android-приложению
В идеале я хотел бы ограничить доступ к базе данных, чтобы только мое приложение могло читать данные.
Я знаю несколько вещей, которые я мог бы сделать: правила безопасности
1. Писать, что позволяет любому читать, то есть
{
"rules": {
".read": true,
".write": false
}
}
Con: Любой человек может прочитать :(
2. Напишите правила безопасности, которые allow authenticated users to read, затем введите код и пароль в приложение
{
"rules": {
"$user_id":{
".read": "auth.uid === $user_id",
".write": false
}
}
}
Кон: жесткое кодирование имени пользователя и пароля в приложении кажется очень неправильным. Кроме того, он фактически не блокирует базу данных, так как любой может декомпилировать приложение, захватить google-services.json
и жестко запрограммированное имя пользователя/пароль и написать собственное приложение, которое поделилось именем моего пакета.
Googling раскрыл this, что характерно для письма, и this, в котором говорится «нет», но ему несколько лет.
Каков правильный подход, ограничивающий доступ к базе данных? Я приближаюсь к этому с неправильного направления?
Ответ, который вы связываете, по-прежнему верен: нет возможности для limi t доступ к вашей базе данных Firebase только к вашему приложению. –
Хорошо, спасибо @FrankvanPuffelen. – Michiyo
Каков ваш окончательный выбор? – androfan