Vercel部署后登录重定向异常:跳转localhost导致无法登录
问题本质
本地开发时谷歌登录正常,但部署到Vercel后授权完成跳转至http://localhost:3000,核心原因是谷歌OAuth客户端的授权回调URL仅配置了本地地址,未添加Vercel生产域名,同时项目可能存在硬编码本地地址或生产环境变量配置错误的情况。
解决步骤
- 登录谷歌云控制台,找到对应OAuth 2.0客户端ID
- 在「已获授权的重定向URI」中添加Vercel生产环境的完整回调地址,例如
https://your-vercel-project.vercel.app(若登录回调有特定路径,如/api/auth/callback/google,需补充完整路径) - 保存配置,等待1-5分钟让谷歌配置生效
- 检查项目环境变量:将生产环境的
NEXTAUTH_URL(若使用NextAuth)或对应OAuth回调地址变量,设置为Vercel域名,而非localhost:3000 - 重新部署Vercel项目,确保新环境变量生效
额外排查项
- 若使用NextAuth.js,检查
auth.js或[...nextauth].js配置文件,确认未硬编码localhost作为回调地址 - 验证Vercel环境变量是否正确加载:可在项目中打印环境变量值确认
内容的提问来源于stack exchange,提问作者Yash Chauhan
相关产品推荐
相关产品推荐

