Firebase用户认证状态逻辑



使用Firebase登录用户后,他将保持登录状态多长时间?我的意思是,例如,当应用程序不可见或被销毁时会发生什么?firebase是否自动注销该用户?还是需要我自己写逻辑?

来自官方文档https://firebase.google.com/docs/auth/users#the_current_user

当用户注册或登录时,该用户成为当前用户Auth实例的。 Firebase认证实例持久化用户的状态,以便刷新页面(在浏览器中)或重新启动应用程序不会丢失用户信息。

当用户注销时,Auth实例停止保存引用到User对象,不再保留其状态;没有当前用户。但是,用户实例仍然是完整的函数:如果你保留了对它的引用,你仍然可以访问和更新用户数据

所以您必须使用FirebaseAuth.getInstance().signOut()方法手动注销用户。

这个实现是非常聪明的,因为这样你就不必管理用户的"会话",但你只需要在需要的地方实现签出!

您需要自己编写逻辑,只需编写:

FirebaseAuth.getInstance().signOut();