Правила безопасности Firebase с динамическими путями - PullRequest
1 голос
/ 11 марта 2019

при условии, что у меня есть структура FireBase JSON, как это:

    "lgbxwerta":  {
        "xlakshjjsjjh" {
            "message_sender":"+23481772233",
            "message":"Hello"
        },

        "lkhshyujshhsjj" {
            "message_sender":"+234813237263",
            "message":"Hi"
        }
    }

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

То есть, если идентификатор комнаты == "lgbxwerta", то любой пользователь с идентификатором пользователя, совпадающим с идентификатором комнаты, может читать или писать в эту комнату. Есть идеи? Поверьте мне, я просто не мог понять это, когда читаю эту документацию- https://firebase.google.com/docs/database/security/securing-data

1 Ответ

1 голос
/ 11 марта 2019

Вы должны использовать подстановочные знаки для этого. Это как переменные, которые представляют, что во время выполнения будут динамические данные.

  "$room_id":
      {
         //if user logged in allow read and write to him only if his uid is same with the $room_id
         ".read": "auth != null && $room_id === auth.uid",
         ".write": "auth != null && $room_id === auth.uid"
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...