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

Spring Security5整合Azure AD客户端凭证调用服务报403配置问询

问题根因

403错误是因为服务B向Azure AD请求客户端凭证令牌时,未指定目标资源(服务A)的标识,导致返回的JWT令牌的aud(受众)字段不匹配服务A配置的校验规则。Azure AD客户端凭证流要求显式指定要访问的资源scope才能下发对应受众的令牌。


解决方案

1. 修改服务B的OAuth2客户端配置

在服务B的spring.security.oauth2.client.registration.azure-ad配置段下新增scope配置,值为服务A的资源ID加/.default(适配Azure AD v1令牌端点规则),修改后完整配置如下:

spring:
   security:
      oauth2:
        client:
          provider:
            azure-ad:
              token-uri: https://login.microsoftonline.com/***-tenant-id-**/oauth2/token
          registration:
            azure-ad:
              authorization-grant-type: client_credentials
              client-id: ****-resource-id-****
              client-secret: ****-client-seret-***
              # 新增scope配置,指定要访问的服务A资源
              scope:
                - ****-resource-id-****/.default

2. 调用确认

原有WebClient配置无需额外修改,发起调用时会自动携带指定scope请求对应令牌,令牌的aud字段会自动设置为服务A的资源ID,匹配服务A的受众校验规则。


验证方法

如果需要确认令牌是否正确,可以在服务B调用时临时打印拿到的JWT令牌,解析后查看aud字段是否为****-resource-id-****,确认一致即可正常访问服务A接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:24:00