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

Azure APIM validate-jwt无法验证Azure Front Door生成的AD B2C令牌

问题:Azure API Management验证自定义域名Azure AD B2C令牌失败

背景

我们的解决方案基于Azure AD B2C,近期新增Azure Front Door以支持用户通过自定义域名访问Azure AD B2C。目前用户可通过两种方式获取有效JWT令牌,二者仅iss声明存在差异:

  • 原生Azure AD B2C域名生成的令牌:"iss": "https://myappname.b2clogin.com/myappname.onmicrosoft.com/v2.0/"
  • 自定义域名(经Azure Front Door)生成的令牌:"iss": "https://login.myappname.nl/00000000-0000-0000-0000-000000000000/v2.0/"

对应两个不同的OpenID Connect知名配置地址:

  • 原生B2C域名配置地址:https://myappname.b2clogin.com/myappname.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_MYAPPVERIFICATIONANDSIGNUP
  • 自定义域名配置地址:https://login.myappname.nl/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration?p=B2C_1A_MYAPPVERIFICATIONANDSIGNUP

APIM验证策略配置

在Azure API Management中配置了validate-jwt策略,逻辑如下:

  1. 读取令牌的iss声明值
  2. 根据iss值选择对应的OpenID配置URL:若iss以https://login开头则使用自定义域名配置,否则使用原生B2C配置(两种令牌的受众一致)

问题现象

原生B2C域名生成的令牌可正常通过验证,但自定义域名生成的令牌返回401错误。通过Application Insights查询到错误详情:

列名值
LastErrorSourcevalidate-jwt
LastErrorScopeproduct
LastErrorSectioninbound
LastErrorReasonTokenSignatureKeyNotFound
LastErrorMessageIDX10500: Signature validation failed. No security keys were provided to validate the signature.

疑问:为何APIM策略仅拒绝自定义域名生成的令牌?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:35:06