首页 > 解决方案 > Firebase 多个会话正在运行?

问题描述

我做了一个简单的在线网络应用程序来练习我在大学这半年学到的东西,结果很有趣(对我和我的朋友来说)。该应用程序非常简单,您注册(使用 Firebase 身份验证),然后登录并为您需要记住的内容创建简单的注释。它几乎可以 100% 工作,但我必须修复一些 UI 问题和这个问题......

当我登录应用程序,然后其他人从他们的设备输入链接时,他们不知何故在我的帐户中,这不应该发生。我该如何解决这个问题?为不活动添加一个计时器以调用 signOut() 方法?或者如何让我的应用程序识别每个设备以同时运行多个会话?

代码是 vanilla js、firebase 身份验证和 firebase firestore。

标签: firebasefirebase-authentication

解决方案


除非您还在您的应用程序中存储用户身份验证状态以供其他用户使用,否则您的问题在技术上是不可能的。相反,如果这基于相同的设备,我会回答:

Firebase 的刷新令牌不会过期,允许用户无需重新授权即可返回网站或网络应用。要绕过这一点,您可以基于会话或本地实例配置身份验证,如果用户关闭窗口,它将注销它们。

firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
// or
firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION)

参考:https ://firebase.google.com/docs/auth/web/auth-state-persistence

如果这不是您要解决的情况,则需要进一步调试。可能指向您的项目的链接会有所帮助?


推荐阅读