簡體   English   中英

您如何收聽正在驗證的用戶電子郵件?

[英]How can you listen to user's email being verified?

當用戶注冊時,他們被迫驗證他們的電子郵件。 這可行,但我希望用戶在成功驗證電子郵件后自動轉到下一頁。 我用 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 重新加載用戶配置文件時,才會在您的客戶端中進行驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM