Я пытаюсь получить данные из базы данных в реальном времени в Firebase на основе зарегистрированного пользователя.
Мои узлы в Firebase выглядят так: https://prnt.sc/kpdoq9
и мои правила настроены так:
{
"rules": {
"userhours": {
"$uid": {
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid"
}
}
}
}
Когда я пытаюсь получить данные с помощью моего метода:
loadUserHours() {
firebase
.database()
.ref("userhours")
.once("value")
.then((data) => {
const obj = data.val();
console.log(obj)
})
},
Я получаю Error: permission_denied at /userhours
Я думаю, что это связано с правилами
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid"
Поскольку "главный внутренний узел" - это не фактический uid (зарегистрированный идентификатор пользователя), а случайный ключ, сгенерированный Firebase? Как должна выглядеть моя структура?
Я предполагаю, что правило ищет uid в пути userhours/{uidhere}/..
, когда узел firebase настроен как userhours/{randomKeyGeneratedByFirebase}/..