【问题标题】:Firebase handle Email verificationFirebase 处理电子邮件验证
【发布时间】:2017-11-01 04:14:42
【问题描述】:

我正在尝试在我的应用程序中验证 Firebase 帐户。

我添加了发送验证邮件的功能,当此人点击邮件中的链接后,他在 Firebase 中的验证状态为 true。

我现在的问题是我无法在我的 ionic 2 应用程序中收到更改。 例如,我尝试从 firebase 获取 onAuthStateChange 方法中的验证状态,并使用 updateUser 函数将其写入我的数据库:

firebase.auth().onAuthStateChanged( user => {
  this.zone.run( () => {
    if (!user) { 
      this.rootPage = Login; 
    } else {
      this.rootPage = HomePage;
      auth.setUser(user);

      if(user.emailVerified){
        this.auth.updateUser({verified: true});
      }
    }
  });     
});

当我注册用户时,emailVerified 为 false,在我点击链接后,从应用程序中注销并再次登录,状态为 true,所以everythink 应该没问题。 现在我的问题是,我是否可以“即时”处理 emailVerified 的更改,以便用户不必重新登录,例如 eventlistener 或当 firebase 中的 emailVerified 状态发生更改时被调用的东西。

如果有人有想法或提示让我解决这个问题,那就太好了

【问题讨论】:

    标签: typescript firebase ionic2 firebase-authentication email-verification


    【解决方案1】:

    您可以重新加载用户配置文件:

    user.reload().then(...
    

    https://firebase.google.com/docs/reference/js/firebase.User#reload

    【讨论】:

    • 是的,但问题是当用户点击邮件中的链接并且设置了 emailVerified 值时,应该调用 funktion。
    • 就像每次更改时都会调用的 firebase.database.ref.on (value) 函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 2020-07-16
    • 2021-07-10
    • 2021-10-10
    • 2019-04-03
    相关资源
    最近更新 更多