我正在从firebase云功能中删除用户。
admin.auth().deleteUser(user_uid)
但是,我期待以下客户端侦听器会触发:
firebase.auth().onAuthStateChanged(() => // do stuff)
也就是说,用户删除也会将他/她的身份验证状态从signedIn
更改为signedOut
。
云功能调用正确执行,但用户仍然登录。我是否还必须将其注销? (我发现没有可用的管理员.logOut
方法。
我想在成功执行函数之后,我会以编程方式从客户端注销它们。
我错过了什么吗?
编辑:从客户端删除用户会触发.onAuthStateChanged
,因此从客户端确实会改变他/她的身份验证状态。
答案 0 :(得分:1)
这不是auth状态监听器在客户端上工作的方式。当状态从客户端的角度发生变化时,这些侦听器会触发。它不知道服务器上发生的更改,至少在客户端尝试刷新其身份验证令牌之前。与实时数据库等服务器相关的不是“实时”。
如果您希望连接自己的客户端通知以删除用户,您可以让客户端侦听实时数据库中的每个用户位置,并使用其中的更改来了解用户何时被删除。