Firebase处理电子邮件验证

时间:2017-05-31 11:19:17

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

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

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

我现在的问题是我无法接受我的离子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,所以每个方面都应该没问题。 现在我的问题是,如果我可以“动态”处理emailVerified的更改,以便用户不必重新编写,就像eventlistener或者当firebase中的emailVerified状态被更改时调用的东西。

如果有人有想法或帮助我来解决这个问题,那会很好吗

1 个答案:

答案 0 :(得分:1)

您可以重新加载用户个人资料:

user.reload().then(...

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