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

使用NextAuth集成Google登录时遇redirect_uri_mismatch错误求助

解决NextAuth Google登录redirect_uri_mismatch问题

你遇到的Google OAuth 400错误(redirect_uri不匹配),虽然已添加对应URI但提示重复,可以试试以下排查和解决方法:

  • 严格校验URI一致性:确保Google Cloud Console里的重定向URI和请求中的https://poempt.vercel.app/api/auth/callback/google完全一致,重点检查:

    • 协议是https而非http
    • 域名、路径无大小写错误(比如Poempt和poempt会被视为不同URI)
    • 末尾没有多余斜杠(...google/和...google是两个不同的地址)
  • 确认客户端ID匹配:如果在Google Cloud中创建了多个OAuth客户端(比如测试版、生产版),要确保是给Web应用类型的客户端添加的URI,且当前NextAuth配置使用的就是该客户端的ID和密钥,不要选错客户端类型或混淆测试/生产密钥。

  • 重新添加URI并等待生效:控制台可能存在缓存延迟,可先删除已有的该URI,点击保存;等待1-2分钟后重新添加并保存,之后重启Vercel部署或清除应用缓存再测试。

  • 检查NextAuth环境变量:生产环境必须正确设置NEXTAUTH_URL为https://poempt.vercel.app,NextAuth会根据这个变量生成重定向URI,若变量错误,生成的地址就会和控制台配置不匹配。同时确认GOOGLE_CLIENT_ID和GOOGLE_CLIENT_SECRET用的是生产环境密钥,而非测试环境的。

  • 同步Vercel部署配置:如果是Vercel部署,修改环境变量后需重新部署,确保新配置同步到生产环境中。

你的登录代码片段没有问题,问题大概率出在OAuth配置或环境变量上:

import { signIn, useSession } from 'next-auth/react';
const logIn = (provider: string, email = undefined) => {
  email ? signIn(provider, {}, email) : signIn(provider, {});
};

<GoogleLoginButton
            style={style}
            onClick={() => {
              logIn('google');
            }}
          >
            <span>Sign in with Google</span>
          </GoogleLoginButton>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:12:42