我是 Firebase 的新手,并且真的在安全规则方面苦苦挣扎。
我正在尝试存储只能由该用户访问的匿名用户会话的数据,但是一旦我收紧安全规则,我就会被拒绝许可并且无法找出原因。
我的结构是:
/userSessions/$user/user_id
应用程序推送到用户会话并写入匿名登录返回的 user_id。
我有以下安全规则:
{
"rules": {
".read": true,
"userSessions": {
"$user": {
".write": "newData.child('user_id').val() == auth.id",
"user_id": {
".validate": "newData.isString()"
}
}
}
}
}
我确定我在做一些愚蠢的事情,但也无法弄清楚如何使用安全模拟器,所以不知道如何解决这个问题
非常感谢任何帮助
编辑 - 匿名身份验证后尝试在 userSessions 下创建新条目时出现问题。
代码:
var userSessionsRef = new Firebase('https://xxxxxx.firebaseio.com/userSessions');
var userSession;
var auth = new FirebaseSimpleLogin( userSessionsRef, function(error,user) {
if (error) {
console.log(error);
} else if (user) {
userSessionsRef.child(user.id).set({
user_id: user.id,
provider: user.provider,
created: Firebase.ServerValue.TIMESTAMP
});
userSession = new Firebase('https://xxxxx.firebaseio.com/userSessions/'+user.id);
userSession.onDisconnect().remove();
}