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

咨询Azure AD中Java(Spring)验证Bearer Token的有效URL

Azure AD Bearer Token 验证URL问题解决方案

正确的Token验证端点

你之前使用的/authorize是授权码流程的端点,和Token验证无关,所以无论Token是否有效都返回200是正常行为。Azure AD v2.0 提供专门的Token自省(Introspection)端点用于验证Token有效性:

https://login.microsoftonline.com/<<tenant_id>>/oauth2/v2.0/introspect

Postman测试步骤

  1. 请求方法:POST
  2. Content-Type:application/x-www-form-urlencoded
  3. 必填参数:
    • token:待验证的Bearer Token(去掉Bearer 前缀,只传纯Token字符串)
    • client_id:你的Azure AD应用注册的客户端ID
    • client_secret:你的应用注册的客户端密钥(后端应用通常为机密客户端,此参数必填)
  4. 可选参数:
    • token_type_hint:填写access_token或id_token,帮助端点快速识别Token类型

响应规则

  • Token有效时:返回200 OK,响应JSON中active字段为true,同时返回Token的元数据(如过期时间、受众等)
  • Token无效时:返回200 OK,但响应JSON中active字段为false;若存在权限问题或参数错误,会返回4xx错误(如401、400)

Spring实现建议

在Spring中无需手动调用自省端点,直接通过Spring Security配置JWKS验证即可:

  1. 配置JwtDecoder指向你能正常访问的JWKS端点:https://login.microsoftonline.com/<<tenant_id>>/discovery/v2.0/keys
  2. 添加验证规则,比如校验Token的issuer(应为https://login.microsoftonline.com/<<tenant_id>>/v2.0)、audience(你的应用客户端ID)等
  3. 配置完成后,Spring会自动处理Bearer Token的签名验证、过期检查、权限校验等逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:20:17