Не разрешать перечисление узлов Firebase

TL;DR;

пользователи не могут читать/писать в root/chat-rooms/

пользователи могут читать/писать в root/chat-rooms/guid-id

Полная версия:

У меня есть следующая структура Firebase:

root > чат-комнаты > идентификатор комнаты (1000+) > сообщения под каждой комнатой с идентификатором

Я не хочу, чтобы мои пользователи аутентифицировались с помощью user/pass; пока вы можете попасть в комнату через пользовательский интерфейс (ссылки генерируются на сервере, и любому пользователю доступна только пара комнат), вы можете читать/писать.

Чего я не хочу, так это того, чтобы пользователи могли перечислять все идентификаторы комнаты (например, через консоль разработчика) и читать/записывать в комнату, минуя пользовательский интерфейс.

Это возможно?


person roman m    schedule 21.04.2014    source источник


Ответы (1)


Для этого просто отключите чтение на корневом уровне или на уровне списка вашей Firebase, но разрешите чтение на уровне определенной комнаты:

{
  ".read": "false",
  ".write": "false",
  "chat-rooms": {
    "$guid": {
      ".read": "true"
    }
  }
}
person Rob DiMarco    schedule 21.04.2014