【发布时间】:2021-01-23 19:03:46
【问题描述】:
更新这样的规则后,我无法在 react native 应用程序中访问 firebase 数据库
{
"rules": {
"main_data":{
"$uid": {
"xx1":{
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid",
},
"xx2":{
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid",
}
},
},
}
}
我有类似的 json 结构
main_data:{
{"uid":{
"xx1":{"id":"uid","d2":"val2","d3":"val3","d4":"d4","d5":"val5","d6":"val6"}
},
"xx2":"value"}
}
我在 react native 应用程序中遇到了这个错误
@firebase/database: FIREBASE WARNING: update at /main_data/UID failed: permission_denied
我通过以下代码访问它
firebase.database().ref('main_data').child(UID).child("xx1 or xx2")
.on("value", data=>{
console.log(data)
})
更新 : 忘记分享写代码了
firebase.database().ref('main_data/' + UID).update({
xx2: "Some_value",
}).then(() => {
console.log("Success!!")
}).catch((e) => {
console.log(e)
})
【问题讨论】:
-
警告涉及“更新”,而您的代码仅显示您尝试读取数据的方式。
-
我不明白,因为在我的云功能中,权限被拒绝作为输出接收
-
感谢更新代码,但这还不足以提供帮助。我们看不到
UID是如何初始化的,错误消息使它看起来像是一个硬编码的字符串值,我们不知道您是如何初始化 Cloud Functions 的。请不要只从您的代码中给我们 sn-p。而是孤立地重现问题,然后给我们完整但最小的 repo。另见how to create a minimal, complete, verifiable example -
它很好,现在它解决了它是我项目中不同的firebase包的问题
标签: javascript firebase firebase-realtime-database firebase-security