flutter 为什么在使用Firebase Auth注销时会出现错误?

ykejflvf  于 2022-11-17  发布在  Flutter
关注(0)|答案(1)|浏览(99)

这是我注销代码:

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(() {});
          }
        }
      });
    }
  });
}

有人知道怎么修吗?

hec6srdp

hec6srdp1#

转到您的Firebase控制台并按如下方式更新您的规则
从侧菜单中选择数据库--〉从上面的选项卡中选择规则--〉按如下方式更新规则

{
        "rules": {    
            ".read": true,
            ".write": true
        }
    }

相关问题