从Admin API删除用户不会在客户端中触发.onAuthStateChanged

问题描述 投票:0回答:1

我正在从firebase云功能中删除用户。

admin.auth().deleteUser(user_uid)

但是,我期待以下客户端侦听器会触发:

firebase.auth().onAuthStateChanged(() => // do stuff)

也就是说,用户删除也会将他/她的身份验证状态从signedIn更改为signedOut

云功能调用正确执行,但用户仍然登录。我是否还必须将其注销? (我看不到管理员.logOut方法可用。

我想在成功执行函数后,我会以编程方式从客户端注销它们。

我错过了什么吗?

编辑:从客户端删除用户确实触发.onAuthStateChanged,所以从客户端它确实改变了他/她的身份验证状态。

firebase firebase-authentication
1个回答
1
投票

这不是auth状态监听器在客户端上工作的方式。当状态从客户端的角度发生变化时,这些侦听器会触发。它不知道服务器上发生的更改,至少在客户端尝试刷新其身份验证令牌之前。它与实时数据库之类的服务器不是“实时”。

如果要连接自己的客户端通知以删除用户,可以让客户端侦听实时数据库中的每个用户位置,并使用其中的更改来了解用户何时被删除。

© www.soinside.com 2019 - 2024. All rights reserved.