Android config firebase правило базы данных в реальном времени для обычного доступа пользователя

#android #firebase #firebase-realtime-database #firebase-security

#Android #firebase #firebase-realtime-database #firebase-безопасность

Вопрос:

В моем приложении встроена функция чата, использующая Firebase Realtime DB для хранения содержимого чата. Недавно я получил электронное письмо с содержимым:

[Firebase] Ваша база данных реального времени ***** имеет небезопасные правила

Мое приложение использует аутентификацию на стороне сервера без интеграции Firebase Authen. Итак, если я установлю для правил чтения / записи значение false , обычный пользователь не сможет общаться в чате. Как решить эту проблему? Спасибо!

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

Ответ №1:

Делать чтение и запись общедоступными — не очень хорошая идея. Для серверной части вам подойдет admin sdk. Но в конце клиента вы должны использовать какую-то аутентификацию. Вы можете использовать аутентификацию, доступную с учетными данными, анонимную аутентификацию или пользовательскую аутентификацию токеном. Правила будут похожи :-

 {
 "rules": {
".read": "auth !== null amp;amp; auth.uid !== null",
".write": "auth !== null amp;amp; auth.uid !== null"
 }
}
  

Ответ №2:

Если вы выполняете вход пользователя перед доступом к базе данных, измените правила на..

 ".read" : "auth != null",
".write" : "auth != null"
  

Это позволит пользователям, прошедшим проверку подлинности, получить доступ к базе данных.

Комментарии:

1. Как следует из описания моего вопроса, мое приложение использует аутентификацию только на стороне сервера, поэтому в моем приложении больше нет аутентификации firebase. И я не могу использовать эту конфигурацию правила