Firebase的安全规则失败
我正在尝试添加安全规则,以便用户只能编辑自己的配置文件:Firebase的安全规则失败,firebase,firebasesimplelogin,Firebase,Firebasesimplelogin,我正在尝试添加安全规则,以便用户只能编辑自己的配置文件: "users": { "$user_id": { ".write": "$user_id == auth.uid", 这条规则在模拟器中通过,但在现实生活中失败。我认为可能是内部正在对路径进行编码,即simplelogin:1被转换为simplelogin%3A1,因此我尝试使用replace来匹配这种情况,但仍然不起作用 ".write": "$user_id == auth.uid.repla
"users": {
"$user_id": {
".write": "$user_id == auth.uid",
这条规则在模拟器中通过,但在现实生活中失败。我认为可能是内部正在对路径进行编码,即simplelogin:1被转换为simplelogin%3A1,因此我尝试使用replace来匹配这种情况,但仍然不起作用
".write": "$user_id == auth.uid.replace(':', '%3A')",
你知道我做错了什么吗?我也有同样的症状,经过一些调试后,我意识到规则没有问题,真正的问题是我在客户端代码中使用的路径 因此,我使用的规则与文档中的规则非常相似:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
如果我像这样访问路径:
ref = new Firebase('https://myfirebase.firebaseio.com/');
.
.
.
ref.child('users/' + uid).set({...
工作正常。无需对uid进行编码,我使用。写入:auth!=null&&auth.uid==$uid,没有问题。您的规则也与上的文档完全一致。你说它不起作用是什么意思?