如何在 Flutter 中手动触发 Firebase 身份验证的 onAuthStateChanged ?

use*_*961 6 firebase firebase-authentication flutter

我有一个围绕StreamBuilder监听构建的应用程序FirebaseAuth.instance.onAuthStateChanged

  return new StreamBuilder<FirebaseUser>(
  stream: FirebaseAuth.instance.onAuthStateChanged,
  builder: (BuildContext context, snapshot) {
    if (snapshot.connectionState == ConnectionState.waiting) { ...
Run Code Online (Sandbox Code Playgroud)

我正在尝试重新加载用户并使用 onAuthStateChanged 在验证电子邮件时进行接收。User.reload() 不足以满足StreamBuilder. 这是一个与此类似的问题,当在 flutter 中验证电子邮件时,不会调用 onAuthStateChanged

我认为解决方案是强制注销并登录,但我不知道如何做到这一点 - 例如步骤 2,再次登录以触发 onAuthStateChanged。

  _auth.signOut(); //sign out and immediate sign in
  final FirebaseUser user = await _auth.signIn----( //which signin function? 
Run Code Online (Sandbox Code Playgroud)

小智 0

您是否尝试过刷新身份验证令牌?

https://firebase.google.com/docs/auth/admin/manage-sessions