这是我的注销代码:
onPressed: () async {
await FirebaseAuth.instance.signOut();
await widget.checkLogin();
},这是我的CheckLogin函数:
checkLogin() async {
if (FirebaseAuth.instance.currentUser != null) {
login = true;
setState(() {});
} else {
login = false;
setState(() {});
}
}它在注销后给出的错误如下:
Unhandled Exception: [firebase_database/permission-denied] Client doesn't have permission to access the desired data.经过多次尝试,我意识到问题在于这些代码行,但我不知道如何修复.
if (FirebaseAuth.instance.currentUser != null) {
WidgetsBinding.instance.addPostFrameCallback((_) async {
DatabaseReference ref = FirebaseDatabase.instance.ref("temp");
if (FirebaseAuth.instance.currentUser != null) {
ref.onValue.listen((DatabaseEvent event) {
final snapshot = event.snapshot.value;
if (snapshot != null) {
Object? temp = snapshot;
if (mounted) {
setState(() {});
}
}
});
}
});
}有人知道怎么修吗?
发布于 2022-11-16 08:35:21
转到Firebase控制台并按如下方式更新规则
从边菜单中选择数据库->从上面的选项卡中选择规则->按如下方式更新您的规则
{
"rules": {
".read": true,
".write": true
}
}https://stackoverflow.com/questions/74456831
复制相似问题