首页 > 解决方案 > Firebase - 自动注销用户 onDisconnect

问题描述

由于我注意到一旦用户使用电子邮件和密码登录,在重新打开应用程序时会话不会过期并且不需要新的身份验证,我希望避免这种情况。

我想在触发.signOut()时自动成为用户。.onDisconnect我怎样才能做到这一点?我尝试使用以下代码,但未成功:

firebase.auth().onDisconnect().signOut();

标签: firebasefirebase-realtime-databasefirebase-authentication

解决方案


当您说“onDisconnect”时,我假设您指的是实时数据库 onDisconnect 触发器。

关于 onDisconnect 的第一件事是它在实时数据库和客户端应用程序之间的套接字连接关闭时触发。这可能由于多种原因而发生,并且可能随时发生,即使该应用程序看似具有良好的互联网连接。所以,要小心你在这里尝试做的事情。

此外,onDisconnect 触发器只能直接影响数据库中的数据,而不能影响其他任何事情。因此,这限制了您可以有效完成的工作。您无法在客户端应用程序中执行任何操作以响应 onDisconnect。

在这两个事实之间,您尝试做的事情实际上是不可能的,而且,我认为这不是可取的。您最终可能会因为他们的火车暂时进入地下而退出用户,或者如果他们只是关闭了应用程序一段时间。这将对用户造成极大的不便。

如果您想自动注销用户,我强烈建议您找到其他方法来执行此操作,例如编写一些代码来记住用户使用您的应用程序已有多长时间,并强制在客户端应用程序上注销根据您喜欢的逻辑。


推荐阅读