You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase认证:打开新标签页时初始标签丢失认证状态

Firebase Auth初始标签页通过window.open打开新标签后丢失认证状态

问题详情

  • 项目基于Firebase Authentication实现登录,整体功能正常
  • 当通过window.open('/foo', '_blank')(如右键菜单触发)打开同应用新标签页时,首次操作后初始标签页会丢失认证状态,导致所有权限依赖的订阅因权限不足取消,页面跳转到登录页
  • 手动复制粘贴URL打开新标签页无此问题;若在新打开的标签页中再次通过window.open打开新标签,认证状态正常,仅首次打开新标签时的初始标签页受影响

登录流程代码

当前登录函数及持久化设置如下:

const login = async (values: { email: string; password: string }) => {
        try {
            // 无关代码省略
            const { email, password } = values;
            await setPersistence(auth, browserLocalPersistence);
            await signInWithEmailAndPassword(auth, email, password);
        } catch (error) {
            console.error(error);
        } finally {
            // 无关代码省略
        }
    };

已尝试的处理

  • 将await setPersistence(auth, browserLocalPersistence);迁移至onAuthStateChanged监听器内,问题曾暂时解决,但2023年4月25日发现问题仍未彻底修复

求助

求可行的问题排查方向或解决方案。

内容的提问来源于stack exchange,提问作者PRSHL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:50:25