微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果从服务器端升级了匿名Firebase帐户,请监听更改

如何解决如果从服务器端升级了匿名Firebase帐户,请监听更改

如何收听匿名帐户更改?我注意到,如果我从服务器端“升级用户onAuthStateChanged不会改变。

// server side "upgrade"
const authUser = await updateUser(uid,{
  email,emailVerified: true,password,displayName: `${firstName} ${lastName}`,disabled: false
});
(...)
return await auth.createCustomToken(uid),

我的结帐流程:

  1. 用户在结帐时显示一条消息以检查其邮件获取匿名用户ID)
  2. 收到一封电子邮件以创建他的帐户
  3. 最有可能在移动设备或其他标签/浏览器中打开电子邮件
  4. 使用用户名/密码创建帐户并接收令牌
  5. 标签内容不会更改

我的问题是,如果用户确认自己的帐户,则很可能会在新标签页或其他设备上发生该问题,并使旧标签页处于过时状态。我也想用欢迎消息来更新该标签

解决方法

没有适用于Firebase身份验证帐户更改的侦听器。您将需要另一种方式以某种方式向应用发出信号,表明发生了某些变化。有两个选项:

  1. 让客户端收听Firestore中的文档或Realtime Database中的某个位置以观察更改,并在升级发生时让您的后端写入该位置。
  2. 使用FCM对应用程序执行ping操作。

无论哪种情况,您都需要通过在当前User对象上调用reload()来手动强制重新加载当前用户。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。