下面是規則。無法添加到Firebase表
{
"rules": {
".read": true,
".write": "auth != null"
}
}
這是我用來添加的代碼。行mAuth,getCurrentUser.isAnonymous
返回false,並且userid還打印了值。用戶已通過身份驗證,但無法寫入用戶表。
System.out.println("Anonymous - "+ mAuth.getCurrentUser().isAnonymous());
mRef = new Firebase("https://moe-90cc7.firebaseio.com/users");
String userid = mAuth.getCurrentUser().getUid();
System.out.println("userid---" + userid);
mRef.child(userid).setValue("1");
當我改變規則
read: true
write: true
它工作正常,但問題是爲什麼它不與auth!=null
規則的工作,當我經過驗證的用戶。
有什麼我可以做雙重檢查用戶是否通過身份驗證?
你混合火力地堡2.x版本(比如'新火力地堡(...')和9.x/10.x的(例如'mAuth.getCurrentUser()')。因此,當您在Firebase 9.x/10.x中擁有經過驗證的用戶時,您與數據庫的連接未經過身份驗證。解決方案是確保僅使用Firebase 9.x/10.x,並取消對Firebase 2的依賴關係。 x)from your gradle files。 –