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

Vercel部署+Firebase认证:无法自定义Google登录重定向URL

解决Vercel部署的NextJS应用中Firebase Auth自定义重定向URL问题

不用切换到Firebase托管,只要完成以下几个步骤就能实现自定义重定向URL:

1. 在Firebase控制台配置授权域与重定向URI

这是最关键的一步,不管你用什么托管平台,Firebase Auth都需要明确授权你的自定义域名:

  • 打开Firebase控制台,进入项目的「Authentication」模块
  • 切换到「登录方法」标签,找到Google登录并点击编辑
  • 在「授权的重定向URI」列表中,添加你的Vercel自定义域名对应的回调地址,比如https://customdomain.com/__/auth/handler(Firebase Auth默认回调路径),或者你自己定义的回调路径(如果手动处理登录逻辑)
  • 再进入Authentication的「设置」页面,在「授权域」里添加你的customdomain.com,保存更改

2. 修正Firebase配置的语法错误

你提供的配置里用了中文引号,这会导致配置失效,改成英文引号:

const firebaseConfig = {
  authDomain: "customdomain.com",
  // 其他Firebase配置项(apiKey、projectId等)
};

3. (可选)手动指定重定向URI

如果默认的重定向行为不符合预期,可以在调用Google登录时显式指定redirectUri:

import { getAuth, signInWithRedirect, GoogleAuthProvider } from "firebase/auth";

const auth = getAuth();
const provider = new GoogleAuthProvider();

// 调用登录时指定自定义重定向路径
signInWithRedirect(auth, provider, {
  redirectUri: "https://customdomain.com/your-post-login-page"
});

注意:这个路径必须已经添加到Firebase控制台的「授权的重定向URI」列表中,否则会被Firebase拦截。

4. 用Vercel环境变量管理Firebase配置

把Firebase的配置项(包括authDomain)存入Vercel的环境变量中,避免硬编码在代码里:

  • 在Vercel项目的「Settings」->「Environment Variables」里添加NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,值为你的自定义域名
  • 在NextJS代码中通过环境变量读取:
    const firebaseConfig = {
      authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
      // 其他配置项
    };
    

完成这些步骤后,你的Vercel部署应用就能正常使用自定义域名作为Firebase Auth的重定向地址了,不需要切换到Firebase托管。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:45:36