Правила Firebase / VueFire проходят валидатор, но не возвращают результатов

Я реализовал правила в Firebase, чтобы ограничить доступ к данным, и когда я имитирую права на чтение / запись в представлении Firebase Validator, разрешение предоставляется. Но когда я бегу через VueFire, результаты не возвращаются.

Это структура базы данных:

<firebase-id>:
   -chat:
     -messages:
       - message1
       - message2
       - message3

Это мои правила от Firebase:

{
 "rules": {
 "chat": {
    "messages": {
       "$message": {
          ".read": "auth != null && data.child('uid').val() == auth.uid",
          ".write": "auth != null && data.child('uid').val() == auth.uid"
         }
       }
     }
   }
}

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

Я пытался предоставить доступ при аутентификации, который работает, когда я ставлю правило на уровень чата, уровень сообщений, но не, если я ставлю его на уровне $ message, что указывает на то, что VueFire имеет проблемы с подстановочными знаками ($)?

Кто-нибудь еще испытывал нечто подобное? или есть идеи что не так?

Обновление: я обнаружил, что при попытке получить доступ к массиву сообщений, как я пытаюсь, происходит сбой проверки.

Фрагмент кода:

// Generate ref to messages fails validation
export const messages = firebaseRef.child('chat').child('messages');
// Generate ref to specifi message create by user passes validation
export const messages = firebaseRef.child('chat').child('messages').child('<message id>')

Таким образом, доступ к этому пути не предоставляется, но только если я пытаюсь получить одно конкретное сообщение. Но как я могу получить массив, который включает только элементы, которые проходят проверку?

1 ответ

После еще одного исследования я обнаружил, что то, чего я пытался достичь, невозможно в Firebase, поэтому я должен реструктурировать свою базу данных, чтобы добиться такого поведения. Для получения дополнительной информации см. Ссылку на другой пост Stackru: правила безопасности Firebase для дочерних элементов в массивах.

Другие вопросы по тегам