Я прочитал всю документацию Google по этому вопросу, но она все еще не работает. Я устанавливаю правила Firebase и, когда я использовал следующее, нет проблем, я могу читать / писать соответственно, поскольку пользователь аутентифицирован:
{
"rules": {
"Users": {
".write": "auth.uid != null",
".read": "auth.uid != null"
},
},
}
Однако, когда я использую следующее, я получаю отказано в разрешении:
{
"rules": {
"Users": {
"$uid":{
".write": "auth.uid === $uid",
".read": "auth.uid === $uid"
},
},
},
}
Вот моя база данных:
Users
-tnRYoVw1duUKV30VgtOxUTvb5kb2
FirstName: "Mike"
LastName: "Smith"
myuser: "msmith"
-saUXlTt5ioLNB33Iii9rHCdq4ov6
FirstName: "John"
LastName: "Heart"
myuser: "jheart"
Вот запрос чтения от swift:
override func viewDidAppear(_ animated: Bool) {
ref = Database.database().reference()
ref?.child("Users").queryOrdered(byChild: "myuser").queryEqual(toValue: emailtextfield.text).observe(.value, with: { (snapShot) in
if (snapShot.value! is NSNull) {
print("nothing found")
} else {
let snapShotValue = snapShot.value as! [String:[String:Any]]
Array(snapShotValue.values).forEach {
let theFirstName = $0["FirstName"] as! String
let theLastName = $0["LastName"] as! String
self.firstName.text = theFirstName
self.lastName.text = theLastName
}
}
})
}
Благодарим вас за любую помощь в сообщении мне, где я ошибся.