Как получить доступ к родительскому состоянию авторизации в массиве - PullRequest
0 голосов
/ 03 февраля 2019

Я не уверен, подходит ли это название, так как я новичок в Аутентификации и правилах Firebase, однако я успешно настроил аутентификацию и сейчас пытаюсь защитить определенный маршрут и не могу получить доступ ксоответствующие данные, вот мои правила Firebase для моей базы данных в реальном времени:

{
  "rules": {
    "accounts": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    },
    "demo": {
      ".read": "accounts.$uid === auth.uid",
      ".write": true
    }
  }
}

Как видите, я пытаюсь получить доступ к аккаунтам / $ uid / из "демо", похоже,работа, что мне не хватает / что мне нужно изменить?

Большое спасибо

ОБНОВЛЕНИЕ

Код, который не работает, является:

".read": "accounts.$uid === auth.uid"

Я не могу получить доступ к этой части.Кажется, он не получает статус аутентификации текущего пользователя.

ОБНОВЛЕНИЕ

См. Прилагаемый снимок экрана с моей попыткой использования предопределенной переменной.Я просто пытаюсь получить статус авторизации и получаю сообщение об ошибке, что оно не определено?

enter image description here

1 Ответ

0 голосов
/ 23 февраля 2019

UID текущего пользователя, который пытается получить доступ к данным, доступен в auth.uid.Если вы пытаетесь убедиться, что чтение кавычек разрешено, только если у пользователя есть документ в узле accounts, вы ищете exists().

"website-quotes": {
  ".read": "root.child('accounts').child(auth.uid).exists()"
}
...