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

Vercel部署Next.js应用后Firebase Authentication仍指向localhost:9099问题

解决Next.js + Firebase部署至Vercel后仍请求localhost:9099的问题
  • 修正Firebase Auth Domain配置误区
    不要将Vercel域名填入NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,这个配置项应该填Firebase提供的官方认证域名,格式为[你的Firebase项目ID].firebaseapp.com,可在Firebase控制台的项目设置中获取。

  • 检查并同步环境变量

    • 本地.env文件中所有NEXT_PUBLIC_前缀的Firebase配置项(API_KEY、PROJECT_ID、AUTH_DOMAIN等)必须是生产环境有效值,不能包含本地模拟器相关配置
    • 登录Vercel项目后台,进入「Settings -> Environment Variables」,确认所有NEXT_PUBLIC_前缀的变量已正确添加,且值与本地一致;注意区分开发/预览/生产环境的变量配置,确保生产环境变量无误
  • 禁用生产环境的Firebase模拟器
    检查代码中是否存在模拟器相关逻辑,比如:

    if (process.env.NODE_ENV === 'development') {
      connectAuthEmulator(auth, "http://localhost:9099");
    }
    

    确保生产环境(Vercel部署默认是production环境)不会触发模拟器连接代码。若使用环境变量控制模拟器开关,需确认Vercel生产环境未设置启用模拟器的变量(如NEXT_PUBLIC_USE_EMULATOR=true)

  • 清除构建缓存

    • 本地:删除.next文件夹和node_modules/.cache目录,重新执行npm run build
    • Vercel平台:找到最近的部署记录,点击「Redeploy」并勾选「Clear build cache」,强制重新构建应用
  • 配置Firebase授权域名
    登录Firebase控制台,进入「Authentication -> 设置 -> 授权域名」,添加你的Vercel应用域名(如xxx.vercel.app),否则Firebase会拒绝来自该域名的认证请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 00:42:06