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

Google OAuth本地正常但Vercel生产环境无法生成Auth会话

Supabase Google OAuth 生产环境(Vercel)故障排查方案

一、Supabase 配置检查

  • 确认Site URL已填写Vercel生产域名(格式如https://your-vercel-app.vercel.app),不要加斜杠结尾,不能仅保留localhost。
  • 检查Redirect URLs,必须包含生产环境的完整回调路径,比如https://your-vercel-app.vercel.app/auth/callback/google(根据你实际的登录回调路径调整),同时确保域名是https协议。

二、Google Cloud 配置调整

  • 进入Google Cloud Console的OAuth 2.0客户端ID设置,添加Supabase的官方回调地址到已授权的重定向URI:https://[你的Supabase项目ID].supabase.co/auth/v1/callback,这一步是核心,很多生产环境失败都是因为漏填这个地址。
  • 在已授权的JavaScript来源中添加你的Vercel生产域名(https开头),localhost可保留用于本地开发。
  • 确认OAuth客户端应用处于已发布状态,若为测试版,仅添加的测试邮箱能登录,需补充测试用户或直接发布应用。

三、NextJS 13 代码与环境检查

  • 在Vercel的环境变量中正确配置NEXT_PUBLIC_SUPABASE_URL和NEXT_PUBLIC_SUPABASE_ANON_KEY,确保使用生产环境的Supabase密钥,而非本地开发值。
  • 调用signIn("google")时,指定正确的redirectTo参数,指向生产环境页面(如https://your-vercel-app.vercel.app/dashboard),避免使用localhost。
  • 若使用App Router/Server Components,初始化Supabase时需设置生产环境的Cookie安全选项:
const supabase = createServerComponentClient({
  cookies,
  options: {
    cookieOptions: {
      secure: process.env.NODE_ENV === "production",
    },
  },
});
  • 检查Supabase控制台的CORS设置,确保已添加Vercel生产域名。

四、日志与调试

  • 打开浏览器开发者工具的Network标签,查看回调请求的响应状态码与错误信息(如400/403),定位具体问题。
  • 查看Supabase控制台的Auth -> Logs,里面会记录登录失败的详细原因(如重定向URI不匹配、客户端ID错误等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:12:35