我在使用匿名身份验证
进行身份验证后,我的权限被拒绝了[ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (21033): PlatformException(-3, Permission denied, )
...
_getCurrentUser: FirebaseUser({providerId: firebase, uid: DOIL...............u54j1, displayName: , email: , isAnonymous: true, isEmailVerified: false, providerData: [{providerId: firebase, uid: DOIL//////////////54j1, displayName: , email: }]})
我在Firebase数据库上的规则是
{
"rules": {
//Test rule
// "users": {
// "$uid": {
// ".read": "auth != null && auth.uid == $uid",
// ".write": "auth != null && auth.uid == $uid",
// }
// }
// General rule - closed to everyone but app uses
".read": "auth != null",
".write": "auth != null"
}
}
我用来保存数据的代码 - 在DB规则设置为对所有人开放的情况下正常工作。
_saveUserData(UserEntry userData) async {
print("_saveUserData jsonData =" userData.toJson().toString());
// SAVE MY DATA TO DB
// tUsers = db reference to the child node users on Firebase
_tUsers.push().set(talentUserData.toJson());
}
我做错了什么?任何帮助表示赞赏。感谢。
答案 0 :(得分:0)
希望能让人头疼。我发现问题是没有获得Firebase数据库的新实例。我在main.dart中创建了实例,并将其传递给构造函数中的HomePage(根据库中的示例文件)。
当我得到一个新的实例......出于绝望的调试......它有效。我现在可以匿名登录,以便只有安装了应用程序的人才能写入数据库。