我有firebase auth,其中允许匿名登录。当用户到达首页时,我们检查此新创建的user.uid是否存在于firebase auth中。如果不是,则使用该uid创建一个新用户。
firebase.database().ref()
.child('users')
.child(user.user.uid)
.once('value', snapshot => {
if (snapshot.val() === null) {
firebase
.database()
.ref()
.child(`user/${user.user.uid}/info`)
.set({
uid: user.user.uid
})
.then(() => user)
.catch(error => {
console.log(error)
})
}
})
但是,我一直收到此错误:似乎不允许该应用程序检查firebase.auth中的现有帮助
Error: permission_denied at /users/ONOfaUBN88gMpG9iVJU1dLvVvbN2: Client doesn't have permission to access the desired data.
我该如何最好地返工?现在我包括了快照检查,因为我也从firebase收到了类似的错误消息,该错误消息基本上说用户已经存在并且无法重置。
我将规则设置为:
{
"rules": {
".read": false,
".write": false
}
}
这些现在能满足我的目的吗
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}