чтение запрещено в Firebase для аутентифицированного пользователя - PullRequest
0 голосов
/ 12 декабря 2018

Привет всем, я новичок в этом, и у меня возникла проблема с симуляцией правил безопасности.Похоже, что даже с идентифицированным uid я не могу получить доступ для чтения "Flashcards" (строка 4: чтение запрещено);ни с админом uid пишите на "Флэшкарты" (строка 5).Любая идея о том, что может происходить?

Спасибо!

Вот мои правила:

{
   "rules": {
     "Flashcards": {
        ".read": "root.child('users').hasChild('auth.uid')",
        ".write": "root.child('admins').hasChild('auth.uid')"
         },
     "users": {
      "$uid": {
          ".read": "$uid === auth.uid",
          ".write": "$uid === auth.uid"
              } 
      }
}
}

И это пример моей базы данных:

{
  "Flashcards": {
    "Deck A": {
      "1": [
        {
            "Question": "Question A",
            "Answer": "Answer A"
        },
        {
            "Question": "Question B",
            "Answer": "Answer B"
        },
        {
            "Question": "Question C",
            "Answer": "Answer C"
        }
        ],
        "2": [
            {
                "Question": "Question A",
                "Answer": "Answer A"
            },
            {
                "Question": "Question B",
                "Answer": "Answer B"
            },
            {
                "Question": "Question C",
                "Answer": "Answer C"
            }
            ]
    }
    },
  "admins": {
    "uid": {
        "name" : "John"
        }
  },
  "users": {
    "uid" : {
        "Actividad" : "Otro"
      },
      "uid" : {
        "Actividad" : "Otro"
      }
    }
}

1 Ответ

0 голосов
/ 12 декабря 2018

Случается, что вы используете 'auth.uid' как строку, а не как предопределенную переменную.Поэтому правило чтения должно быть таким (без одинарных кавычек):

    ".read": "root.child('users').hasChild(auth.uid)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...