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

Spring Boot示例应用中Google Auth token返回invalid_token错误问题

Spring Security判定Google OAuth2 Token无效的常见原因
  • Issuer校验规则冲突
    你的代码中创建issuer校验器时传入的是${google.iss}对应的值accounts.google.com,但Google官方签发的JWT的iss字段固定为带协议前缀的https://accounts.google.com,二者不匹配会直接触发校验失败。
  • JWK Set地址配置错误
    你配置的spring.security.oauth2.resourceserver.jwt.jwk-set-uri值为OpenID元数据地址https://accounts.google.com/.well-known/openid-configuration,该地址不是公钥集合地址,Spring Security无法获取正确的公钥完成签名校验,正确的Google JWK地址应为https://www.googleapis.com/oauth2/v3/certs。
  • Audience校验不匹配
    需确认${google.client-id}配置的值,和你在SoapUI中发起OAuth2请求时填写的Client ID完全一致,无字符偏差、多余空格,Google返回的JWT的aud字段必须和配置的Client ID完全相等才能通过校验。
  • Token类型误用
    隐式授权流会同时返回access_token和id_token两个值,只有id_token是符合JWT规范、可被资源服务器校验的身份凭证,如果你误传了access_token(Google的access_token不是标准JWT结构)会直接解析失败。
  • Token已过期
    Google签发的ID Token默认有效期仅为1小时,校验时会对比当前时间和Token的exp字段,超出有效期的Token会被判定为无效。
  • 请求头格式错误
    确认Authorization请求头格式严格为Bearer [你的Token],注意Bearer和Token之间有且仅有一个空格,Token本身没有被截断、转义或者额外添加引号等字符。
  • 自定义校验逻辑问题
    如果你自己实现的AudienceValidator逻辑存在缺陷(比如大小写敏感、多值处理错误等),也会导致正常的Token被误判为无效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:57:04