我如何听取Firebase自定义声明的变化?



我正在创建一个应用程序在Ionic Vue与Firebase作为我的后端。我正在使用Firebase自定义声明来分配用户角色("付费用户"或"免费用户"),并且我已经设置了一个云功能来分配角色,没有任何问题。

现在我希望我的应用程序能够听取自定义声明的变化,以便如果免费用户变成付费用户,应用程序将实时知道。目前我只得到更新的自定义声明,如果我重新加载应用程序使用onauthstatechange像这样:

onAuthStateChanged(auth, () => {
if (auth.currentUser) {
auth.currentUser.getIdTokenResult(true).then((idTokenResult) => {
console.log(idTokenResult);
auth.currentUser.subscriber = idTokenResult.claims.subscriber;
});
}
// Run app
});

当用户被分配一个新角色时,侦听更改的最佳方法是什么?

我希望我的应用程序能够侦听自定义声明中的变化

对于Fireabse身份验证服务,这是不可能的。您应该实现自己的机制:例如,为每个用户创建一个Firestore文档,并将用户的角色保存在该文档中。这样,你就可以为用户的Firestore文档设置一个实时监听器,并在你的前端收到用户角色发生变化的警报。

注意,这将只实现一个警报系统。您仍然需要用firebase.auth().currentUser.getIdTokenResult()刷新令牌(如文档中所示),以便在前端中反映新角色。

相关内容

  • 没有找到相关文章

最新更新