如何在React应用中检测Firebase中的用户是否已通过电子邮件链接确认其帐户?

时间:2018-07-02 19:07:08

标签: javascript reactjs firebase firebase-authentication email-confirmation

用户注册后,将通过Firebase向他们发送一个确认链接,该链接指向其电子邮件地址。如果未验证帐户,则用户将无法与应用程序上的任何内容进行交互。验证帐户后,React状态会更改,从而启用应用程序上的元素,以便用户可以开始交互。有什么方法可以监听对当前用户的auth对象的更改,以便在用户单击确认链接后可以更改状态?

我尝试设置这样的计时器,但实际上并没有实时检查currentUser.emailVerified

timer.addEventListener('secondsUpdated', () => {
  this.setState({ timer: timer.getTimeValues().seconds });

  this.forceUpdate();

  console.log(auth.currentUser.emailVerified);

  auth.onAuthStateChanged(user => {
    console.log(user.emailVerified);
  });
});

即使用户单击确认链接,两个日志都返回false。如果要验证用户的帐户,我不想强​​迫用户必须刷新页面才能启用元素。有什么想法吗?

0 个答案:

没有答案