Firebase - onAuthStateChanged() 在登录和注册后触发

Firebase - onAuthStateChanged() fires both after sign in and sign up

我需要弄清楚为什么听众会开火 - 是初始注册还是登录?

我尝试使用回调附带的部分用户负载。我试着比较 user.metadata.createdAt 和 user.metadata.lastLoginAt 这通常有效 - 如果我注册,然后注销,然后再登录 - 没问题。但是当我注册然后刷新页面就不行了。

有没有办法查看有关上次更改身份验证状态或简单时间的一些元数据 - 以确定 onAuthStateChanged 是否因注册或登录而触发。

谢谢!

onAuthStateChanged() 在身份验证状态更改时触发,因此这确实适用于注册和登录。

如果要区分两者,可以:

  • 挂钩您从 signIn.../createUser 方法返回的显式 then
  • 或者你可以比较creationTimelastSignInTime中的user.metadata。如果它们相同,则用户刚刚创建。