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

部署在Firebase Hosting的Nuxt 3应用Firebase Auth登录报错auth/login-blocked

解决Nuxt3 + Firebase Auth部署后auth/login-blocked及__session 404问题

针对你部署到Firebase Hosting后出现的登录错误和__session端点404问题,可按以下步骤排查修复:

  • 检查Firebase Hosting重写规则
    确保firebase.json中配置了正确的重写规则,将/api/**请求转发到Nuxt生成的云函数,否则服务器端会话端点无法被正确处理。示例配置:

    {
      "hosting": {
        "public": ".output/public",
        "cleanUrls": true,
        "rewrites": [
          {
            "source": "/api/**",
            "function": "server"
          },
          {
            "source": "**",
            "destination": "/index.html"
          }
        ]
      }
    }
    

    注意server是Nuxt部署时默认生成的云函数名称,需确保该函数已成功部署。

  • 确认Nuxt VueFire的会话配置
    在nuxt.config.ts中,需明确开启Firebase Auth的会话Cookie支持,保证服务器端能处理会话:

    export default defineNuxtConfig({
      vuefire: {
        auth: {
          enabled: true,
          sessionCookie: true,
          sessionCookieName: '__session'
        },
        // 其他Firebase相关配置
      }
    })
    
  • 验证云函数部署状态
    登录Firebase控制台,进入「云函数」页面,检查server函数是否存在且状态为正常运行。若部署过程中函数构建失败,会直接导致/api相关端点无法访问。

  • 检查Firebase Auth会话管理配置
    在Firebase控制台的「Authentication」→「设置」→「会话管理」中,确认会话Cookie的域名与部署网站的域名一致,生产环境建议开启HttpOnly和Secure标志,避免会话安全问题。

  • 清除浏览器缓存与Cookie
    浏览器缓存的旧会话数据可能引发冲突,尝试清除当前网站的缓存和Cookie后,重新测试登录功能。

  • 确认部署流程正确性
    确保部署前已执行npm run build生成完整的.output目录,再通过firebase deploy完成部署,避免因构建不完整导致服务器端逻辑缺失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:52:19