Подстановочный знак в правилах Firebase не работает, при попытке доступа к данным с идентификатором - PullRequest
0 голосов
/ 20 мая 2019

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

Я пытаюсь предоставить доступ к данным, используя идентификатор в моих правилах firebase.У меня есть данные, сохраненные в / / docid /

Правило Firebase:

{
"rules": {
"complete": {
  "$completeid": {
    ".read": "data.child('status').val() === 'Resolved'",
    ".write": true
   }
  }
 }
}

Получение данных в моем коде так:

firebase.database().ref('/complete').orderByChild('status').equalTo('Resolved').once('value')

Я хочу дать толькоДоступ к данным со значением статуса Разрешен.Но я продолжаю получать / завершать: у клиента нет прав доступа к нужным данным

1 Ответ

0 голосов
/ 20 мая 2019

Ваш код пытается прочитать с /complete, но ваши правила не предоставляют права на чтение на /complete. Имейте в виду, что правила не фильтруют данные .

К счастью правила могут использоваться для авторизации определенных запросов , что вам нужно здесь:

{
  "rules": {
    "complete": {
      ".read": "query.orderByChild == 'status' && query.equalTo == 'Resolved'",
      "$completeid": {
        ".write": true
      }
    }
  }
}

С этими правилами ваш запрос разрешен, но более широкое чтение из /complete будет отклонено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...