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

Firebase signInWithRedirect代理方案(Netlify)遇redirect_uri_mismatch错误求助

Firebase Auth signInWithRedirect 重定向URI不匹配问题(Netlify代理方案)

我正在使用firebase/auth包的signInWithRedirect接口,自2024年6月起,非Firebase托管的应用必须从5种方案中选择其一才能正常使用该接口。我的应用托管在Netlify上,采用了代理请求至firebaseapp.com的方案。

我用Netlify边缘函数实现了代理:

export default async (request, context) => {
  const url = new URL(request.url);
  if (url.pathname.startsWith("/__/auth/")) {

    const newUrl = new URL(request.url);
    newUrl.hostname = "my-firebase-app.firebaseapp.com";

    const proxyRequest = new Request(newUrl.toString(), request);
    return fetch(proxyRequest);
  }

  return context.next();
};

export const config = { path: "/__/auth/*" };

同时更新了Firebase配置,修改了authDomain:

authDomain: "my-netlify-app.com"

调用signInWithRedirect时,会被重定向到谷歌页面,但出现以下错误:

无法登录,因为此应用发送了无效请求。你可以稍后重试,或联系开发者了解此问题。了解有关此错误的更多信息 如果你是此应用的开发者,请查看错误详情。错误 400: redirect_uri_mismatch

我已查阅相关文档,也在Google控制台的凭据页面确认添加了:

  • OAuth 2.0客户端ID
  • 授权JavaScript来源:https://my-netlify-app.com
  • 授权重定向URI:https://my-netlify-app.com/__/auth/handler

但仍出现redirect_uri_mismatch错误,请求详情显示:redirect_uri=https://my-netlify-app.com/__/auth/handler flowName=GeneralOAuthFlow

目前我打算改用signInWithPopup,但并不喜欢这个方案,不过不修改authDomain时它可以正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:22:13