angular - Firebase - 如何检测/观察 Firebase 用户何时验证他们的电子邮件,如 onAuthStateChanged

标签 angular firebase firebase-authentication

我知道要检查用户的电子邮件是否经过验证,我可以使用

firebase.auth().onAuthStateChanged((user) => {
    console.log(user["emailVerified"]);
})

但是我的问题是,只要用户在收件箱中验证了他们的电子邮件地址,我就想观察/收听并重定向到另一个页面。

根据我的测试,onAuthStateChanged 在用户登录、更新个人资料和注销时触发,但在用户验证收件箱中的电子邮件地址时不会触发。

无论如何我都可以检测到用户何时通过验证并自动重定向到另一个页面?

最佳答案

我设法通过 setInterval 函数使其工作,该函数每秒检查用户的 emailVerified 属性,如下所示:

setInterval(function() {
  firebase.auth().currentUser.reload();
  if (firebase.auth().currentUser.emailVerified) {
      console.log("Email Verified!");
      this.navCtrl.setRoot(HomePage);
  }
}, 1000);

关于angular - Firebase - 如何检测/观察 Firebase 用户何时验证他们的电子邮件,如 onAuthStateChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41541887/

相关文章:

Angular 2 获取 mat-dialog-container nativeelement

firebase - 什么是用于日志记录的 Firebase 解决方案?

ios - 在后台 Swift 中发送用户的位置

firebase - 如何使用特定的 "hd"(托管域)参数配置 Firebase + Google OAuth?

swift - 如何验证 Firebase 上的用户名是否可用?

javascript - 仅允许不以零开头的整数的函数 onInput 事件

css - 如何使 Angular2 "deep"css 类优先?

java - 如何使用 firebase 在 android studio 中创建类似 "Edit Profile Images"的 tinder/bumble 页面?

java - FirebaseAuth 未创建用户

angularjs - 引用错误 : __moduleName is not defined Angular 2