【发布时间】:2018-01-30 03:14:01
【问题描述】:
我在 Web 应用程序中使用 Firebase 身份验证,并且我使用电话号码身份验证作为登录应用程序的选项。
function saveUser(fname) {
var user = firebase.auth().currentUser;
var newUserRef = firebase.database().ref('users/' + user.uid);
newUserRef.set({
fname: fname
});
}
在以下数据库规则下:
{
"rules" : {
".read" : false,
".write" : false,
// only authenticated users can write
"users": {
".read": "auth != null",
"$user_id": {
"fname": {
".read": "auth != null",
".write": "auth != null",
".validate": "newData.isString() && newData.val().matches(/^[A-Z]{3,}$/)"
},
}
}
}
}
但是,我不断收到错误消息:
FIREBASE 警告:在 /users/ypGXpJRM1wdMOuOMf8F7quLnJ073 设置失败: permission_denied
有没有办法在不改变规则的情况下避免这个错误?
【问题讨论】:
-
你在模拟器中测试过这些规则吗?
标签: javascript firebase firebase-realtime-database firebase-authentication firebase-security