如果从服务器端升级匿名 firebase 帐户,则监听更改
Listen for changes if anonymous firebase account is upgraded from server side
如何侦听匿名帐户更改?我注意到,如果我从服务器端“升级”用户,onAuthStateChanged
不会改变。
// server side "upgrade"
const authUser = await updateUser(uid, {
email, emailVerified: true, password, displayName: `${firstName} ${lastName}`, disabled: false
});
(...)
return await auth.createCustomToken(uid),
我的结帐流程:
- 用户完成结帐并收到消息以检查他的邮件(获取匿名用户 ID)
- 收到创建帐户的电子邮件
- 最有可能在移动设备或其他标签页/浏览器中打开电子邮件
- 使用 username/password 创建帐户并接收令牌
- 旧标签内容不会改变
我的问题是,如果用户确认他的帐户,它很可能会在新选项卡或另一台设备上发生,并使旧选项卡处于过时状态。我也想用欢迎信息更新该选项卡。
Firebase Auth 中没有适用于帐户更改的侦听器。您将需要另一种方式来以某种方式向应用程序发出信号,表明发生了某些变化。两个选项是:
- 让客户端监听 Firestore 中的文档或实时数据库中的某个位置以观察更改,并让您的后端在发生升级时写入该位置。
- 使用 FCM ping 应用程序。
无论哪种情况,您都需要通过对当前用户对象调用 reload() 来手动强制重新加载当前用户。
如何侦听匿名帐户更改?我注意到,如果我从服务器端“升级”用户,onAuthStateChanged
不会改变。
// server side "upgrade"
const authUser = await updateUser(uid, {
email, emailVerified: true, password, displayName: `${firstName} ${lastName}`, disabled: false
});
(...)
return await auth.createCustomToken(uid),
我的结帐流程:
- 用户完成结帐并收到消息以检查他的邮件(获取匿名用户 ID)
- 收到创建帐户的电子邮件
- 最有可能在移动设备或其他标签页/浏览器中打开电子邮件
- 使用 username/password 创建帐户并接收令牌
- 旧标签内容不会改变
我的问题是,如果用户确认他的帐户,它很可能会在新选项卡或另一台设备上发生,并使旧选项卡处于过时状态。我也想用欢迎信息更新该选项卡。
Firebase Auth 中没有适用于帐户更改的侦听器。您将需要另一种方式来以某种方式向应用程序发出信号,表明发生了某些变化。两个选项是:
- 让客户端监听 Firestore 中的文档或实时数据库中的某个位置以观察更改,并让您的后端在发生升级时写入该位置。
- 使用 FCM ping 应用程序。
无论哪种情况,您都需要通过对当前用户对象调用 reload() 来手动强制重新加载当前用户。