如何监听用户的电子邮件被验证?

2024-04-05

当用户注册时,他们被迫验证他们的电子邮件。这可行,但我希望用户在成功验证电子邮件后自动进入下一页。我使用 userChanges() 函数实现了 StreamBuilder。

@override
Widget build(BuildContext context){
  return StreamBuilder<User?>(
    stream: FirebaseAuth.instance.userChanges(),
    builder: (BuildContext context, AsyncSnapshot<User?> snapshot){
      if(snapshot.data == null){
        return const SignupPage();
      }else
        
      if(snapshot.data!.emailVerified){
        return const HomePage();
      }

      return const WaitingText();
    },
  );
}

现在,当用户验证他们的邮件时,页面不会更新,但是当我使用 currenUser.reload() 强制重新加载时,它会起作用。 StreamBuilder 是正确的选择吗?我不想不断地重新加载我的用户,直到他们验证为止。


这听起来像是预期的行为:userChanges()当用户的任何属性发生更改时,流会触发事件,但服务器端更改不会立即传播到客户端。

这意味着只有当您重新验证用户身份(即注销并再次登录)或强制 SDK 重新加载用户配置文件时,才会在客户端中进行验证。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何监听用户的电子邮件被验证? 的相关文章

随机推荐