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

开发环境下Google OAuth2登录服务提示“Connection Refused”问题求助

开发环境下Google OAuth2登录服务提示“Connection Refused”问题求助

嘿,这种本地正常、一部署到开发环境就掉链子的OAuth问题我也碰到过好几次,大概率是配置或者网络层面的疏漏,咱们一步步排查:

1. 先揪出最明显的配置矛盾

我看你贴的配置里有个致命的不一致:

  • 后端application-dev.yml的authorizedRedirectUris是http://xxx.xxx.xx.xxx:3000/oauth2/redirect
  • 前端的OAUTH2_REDIRECT_URI却是http://xxx.xxx.xx.xxx:8080/oauth2/redirect

OAuth的回调URI必须完全一致,后端允许的地址、前端请求的地址、Google控制台配置的地址三者得统一,哪怕端口差一个数字都会被Google拒绝。这大概率是你当前问题的核心原因!

2. Google开发者控制台配置检查

你担心必须用域名其实是误解,公网IP地址是完全可以用的,但要注意几点:

  • 把最终确定的回调URI(比如统一成8080或者3000端口的那个)同时添加到Authorized redirect URIs里
  • Authorized JavaScript origins也要添加开发服务器的IP(带端口,比如http://xxx.xxx.xx.xxx:3000或者8080),这个字段是用来限制哪些域名/IP可以发起OAuth请求的
  • 确认你的OAuth客户端类型是「Web应用」,而不是桌面或其他类型,不同类型的配置要求不一样

3. 后端配置生效验证

别想当然认为application-dev.yml生效了,特别是Spring Boot这类框架:

  • 检查启动命令有没有指定激活dev环境,比如要加--spring.profiles.active=dev参数,不然默认可能加载的是其他环境配置
  • 可以在后端日志里搜authorizedRedirectUris,确认实际加载的是开发环境的配置值

4. 服务器网络与端口排查

你的服务器需要SSH验证,大概率是内网机器或者防火墙限制比较严:

  • 检查服务器的防火墙/安全组规则,有没有开放你用到的8080、3000端口?外部(包括Google的OAuth服务器)要能访问到这些端口才行
  • 如果服务器是内网没有公网IP,那Google根本没法回调到你的服务!这时候可以用Ngrok这类工具做端口转发,比如ngrok http 8080,生成一个临时公网地址,然后把这个地址替换掉所有配置里的IP,包括Google控制台、前后端配置
  • 在服务器上用curl https://accounts.google.com/o/oauth2/auth测试下能不能连通Google的OAuth服务,排除服务器出网被限制的情况

快速修复步骤建议

  1. 统一前后端的回调URI,比如都改成http://xxx.xxx.xx.xxx:8080/oauth2/redirect
  2. 把这个统一后的URI添加到Google控制台的Authorized redirect URIs,同时把http://xxx.xxx.xx.xxx:8080添加到Authorized JavaScript origins
  3. 确认后端启动时激活了dev环境,且配置的authorizedRedirectUris和上面的一致
  4. 开放服务器8080端口的外部访问权限,或者用Ngrok做端口转发(如果是内网机器)

备注:内容来源于stack exchange,提问作者Beesz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 10:09:05