Firebase swift В доступе отказано при использовании правил защиты данных - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь получить данные из базы данных Firebase, но для защиты данных я должен дать API идентификатор пользователя, и он должен ответить с именем пользователя.

Вот мой формат базы данных:

users : {
"x0001": "John"
"x0002": "Samuel" 
"x0003": "Rachel"
}

И вот ограничения, относящиеся к документации https://firebase.google.com/docs/database/security/securing-data

  {
  "rules": {
    "users": {
        ".read": "query.equalTo != null",
        ".write": false
      }
  }
}

Вот метод доступа к моей базе данных

func isUserExists(userId: String) {     
     Database.database().reference().child("users")
                .queryOrderedByKey()
                .queryEqual(toValue: userId)
            .observeSingleEvent(of: .value, with: { (snapshot) in
                print(snapshot.value as? String)

            }){ (error) in
                print("error: \(error.localizedDescription)")
           }
}

Когда я вызываю этот метод, например, с userId

isUserExists(userId: "x0001") 

output

error : Permission Denied

Когда я тестирую без ограничений это работает хорошо, поэтому я думаю, что запрос хорошо написан, но он не соблюдает это ограничение

".read": "query.equalTo != null"

Спасибо

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