问题描述
如何收听匿名帐户更改?我注意到,如果我从服务器端“升级”用户,onAuthStateChanged
不会改变。
// server side "upgrade"
const authUser = await updateUser(uid,{
email,emailVerified: true,password,displayName: `${firstName} ${lastName}`,disabled: false
});
(...)
return await auth.createCustomToken(uid),
我的结帐流程:
我的问题是,如果用户确认自己的帐户,则很可能会在新标签页或其他设备上发生该问题,并使旧标签页处于过时状态。我也想用欢迎消息来更新该标签。
解决方法
没有适用于Firebase身份验证帐户更改的侦听器。您将需要另一种方式以某种方式向应用发出信号,表明发生了某些变化。有两个选项:
- 让客户端收听Firestore中的文档或Realtime Database中的某个位置以观察更改,并在升级发生时让您的后端写入该位置。
- 使用FCM对应用程序执行ping操作。
无论哪种情况,您都需要通过在当前User对象上调用reload()来手动强制重新加载当前用户。