我正在使用Firebase,尝试写入数据库时出现权限拒绝错误。 这就是我的规则:
{
"rules": {
"foo": {
".read": true,
".write": true
}
}
}
这是要写入数据库的代码:
function writeUserData(userId, name, email, imageUrl) {
firebase.database().ref('users/' + userId).set({
username: name,
email: email,
profile_picture : imageUrl
});
}
为什么我不能写我的数据库?
答案 0 :(得分:2)
在当前规则中,您允许写入数据库的“ foo”节点,但是您尝试写入“ users”。由于您尚未为“用户”设置规则,因此Firebase会使用默认规则false进行后退。
如果您希望能够写给用户,则必须将规则更改为此:
elapsed time
请记住,这允许所有人(甚至未经身份验证的用户)读取/写入该位置。为了获得更安全的选择,您可以限制它,以便用户只能读/写他们自己的数据:
{
"rules": {
"users": {
".read": true,
".write": true
}
}
}
the firebase docs中的示例。