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

如何使用SoapUI测试Spring Boot OAuth2授权码流程

问题排查与解决方案

核心操作错误说明

你当前的流程和Spring Security OAuth2默认的授权码登录逻辑不匹配:
浏览器走的是标准OAuth2授权码流程:跳转到Google授权页→Google返回授权码(Auth Code)→Spring后端拿授权码换Access Token→验证通过后下发Session会话凭证。你直接在SoapUI中获取Google的Access Token,默认配置下的Spring Boot项目不会识别请求携带的第三方Token,所以直接用Token访问是无效的。

两种可行测试方案

方案1:复用浏览器的授权码流程(无需修改项目代码)

  • 第一步先获取Auth Code:构造Google授权请求,参数必须指定response_type=code,同时配置和你项目中一致的client_id、redirect_uri(必须和Google Cloud控制台、Spring配置里的回调地址完全匹配,默认是http://localhost:8080/login/oauth2/code/google)以及你配置的授权范围。请求该地址完成Google账号授权后,回调地址的code参数就是你需要的Auth Code。
  • 第二步拿到授权码后,直接请求http://localhost:8080/login/oauth2/code/google?code=你获取的授权码,请求成功后会返回Set-Cookie响应头,其中JSESSIONID就是后续访问的身份凭证。
  • 第三步携带上述Cookie发送GET请求到http://localhost:8080/list即可获取返回数据。

方案2:使用已获取的Access Token直接访问(需添加项目配置)

如果不想走授权码流程,想用已拿到的Google Access Token直接访问接口,需要先修改项目配置适配资源服务器逻辑:

  1. 引入OAuth2资源服务器依赖:spring-boot-starter-oauth2-resource-server
  2. 在配置文件中添加JWT校验配置:指定Google的JWT签发地址即可。
    配置完成后在SoapUI中发送请求时,Token可以选以下任意一种方式配置,效果完全一致:
  • 在Header标签添加字段:键为Authorization,值为Bearer 你的Access Token
  • 在Auth标签选择Bearer Token类型,直接把Access Token填入对应输入框
    配置完成后直接发送GET请求到http://localhost:8080/list即可拿到数据。

Spring Security OAuth2 默认端点说明

你需要用到的几个默认内置端点如下,不需要自己实现对应接口:

  • Google授权跳转入口:/oauth2/authorization/google(就是登录页Google按钮对应的跳转地址)
  • Google授权回调处理端点:/login/oauth2/code/google
  • 默认登录页地址:/login
  • 默认登出处理端点:/logout

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:39:03