【发布时间】:2020-05-04 22:35:28
【问题描述】:
我得到 PERMISSION_DENIED: Permission denied 尝试创建用户时:
{
"rules": {
".read": true,
".write": "auth != null",
"users": {
"$uid": {
".read": true,
".write": "auth.uid == $uid",
".validate": "
newData.child('user').isString() &&
newData.child('user').val().length > 3
"
}
}
}
}
user 是字符串,超过 3 个字母。但我认为这与id有关。
我使用createUserWithEmailAndPassword 创建一个用户并尝试将其插入数据库:
firebase.database().ref('users/' + userID).set({
username: username,
email: email
});
userID 是 id createUserWithEmailAndPassword 返回...
有什么想法吗?
【问题讨论】:
-
问题很可能来自
.validate部分。 -
你是如何设置数据的?我的意思是你在使用云功能吗?
-
您在代码中传递了一个属性
username,但在您的规则中验证了user。由于userusername规则拒绝写入。 -
还有
".write": "auth != null",正在处理用户写的...任何想法为什么?
标签: firebase firebase-realtime-database firebase-security