Flutter FirebaseAuth:如何检查用户是否已登录?

时间:2021-02-18 22:22:28

标签: firebase flutter firebase-authentication

我是 FirebaseAuth 的新手,我想要,它会检查用户是否已登录,如果没有,他将被重定向。

那是我的空虚:

  void newEntry() {
    showDialog<AlertDialog>(
        context: context,
        builder: (BuildContext context) {
          return neuerEintrag(addItem);
        });
  }

这是我检查用户操作系统是否登录,在另一个类中:

    class loginProfile extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final AuthService auth = Provider.of(context).auth;
    return StreamBuilder<String>(
      stream: auth.onAuthStateChanged,
      builder: (context, AsyncSnapshot<String> snapshot) {
        if (snapshot.connectionState == ConnectionState.active) {
          final bool signedIn = snapshot.hasData;
          return signedIn ? Profil() : FirstView();
        }
        return CircularProgressIndicator();
      },
    );
  }
}

谢谢!

1 个答案:

答案 0 :(得分:2)

也许使用 currentUser 同步 getter 就足够了?

if (FirebaseAuth.instance.currentUser != null) {...}

参考:https://pub.dev/documentation/firebase_auth/latest/firebase_auth/FirebaseAuth/currentUser.html

相关问题