![](/img/trans.png)
[英]Flutter: How to listen to the FirebaseUser is Email verified boolean?
[英]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.