在不重新加载页面的情况下更新电子邮件验证状态

Update the email verification status without reloading page

在我的网络应用程序中注册后,我将用户重定向到一个页面,告诉他验证他的电子邮件。一旦他这样做了,我想自动检测 verificationStatus 的变化,然后更改页面。类似的东西。

auth.user.subscribe(user => {
  if (!!user && user.emailVerified === true) {
    this.redirectToLogin();
  }
});

我找不到任何方法来检测 emailVerified 状态的变化,所以我想,也许有一个间隔运行时不时地更新用户数据,但我找不到方法刷新来自 firebase 身份验证的用户数据。

有没有办法在没有 reloading/refreshing 页面的情况下更新用户数据?我必须刷新 authState 吗?如果可能,我该怎么做?

我想做的事,甚至可能吗?

电子邮件验证状态的变化发生在 Firebase 服务器上。不会自动推送给客户端。

在客户端上,您可以通过调用 User.reload().

重新加载用户数据以获取任何更改

另见:

  • Auth.auth().currentUser?.reload() doesn't refresh currentUser.isEmailVerified