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

使用EasyAuth保护Azure Function出现Invalid Audience错误如何解决

错误原因

IDX10214报错的核心是请求携带的JWT令牌中aud(受众)声明值,不在Azure App Service Authentication(Easy Auth)预设的合法受众列表中。默认配置下,自定义OIDC提供商的合法受众仅包含你配置的客户端ID,若你的令牌返回的aud不是该值就会触发校验失败。

解决步骤

查看当前合法受众列表

你可以通过两种方式获取当前配置的合法受众:

  • 进入Azure资源浏览器,定位到你的Function App资源:订阅 > 对应资源组 > providers > Microsoft.Web > sites > 你的Function App名称 > config > authsettingsV2,在返回的JSON结构中找到identityProviders下对应自定义OIDC提供商的openIdConnectConfiguration.validation.allowedAudiences数组,该数组内的所有值就是当前的合法受众。
  • 执行Azure CLI命令查看:
az rest --method get --uri /subscriptions/<替换为你的订阅ID>/resourceGroups/<替换为资源组名>/providers/Microsoft.Web/sites/<替换为Function App名称>/config/authsettingsV2?api-version=2022-03-01

在输出的JSON中查找上述的allowedAudiences节点即可。

配置自定义合法受众

目前Azure门户没有自定义OIDC提供商受众的可视化配置入口,可通过以下两种方式修改:

方式1:通过Azure资源浏览器修改

  1. 在authsettingsV2页面顶部切换为「读/写」模式,点击「编辑」按钮
  2. 在allowedAudiences数组中添加你JWT令牌中的aud值,示例配置如下:
"validation": {
    "allowedAudiences": [
        "你的原始客户端ID",
        "JWT令牌中提取的aud值"
    ]
}
  1. 点击「PUT」保存配置,等待2-3分钟配置生效后重新测试请求即可。

方式2:通过Azure CLI修改

直接执行如下命令,替换对应占位符即可完成配置:

az rest --method patch --uri /subscriptions/<替换为你的订阅ID>/resourceGroups/<替换为资源组名>/providers/Microsoft.Web/sites/<替换为Function App名称>/config/authsettingsV2?api-version=2022-03-01 --body '{"properties":{"identityProviders":{"customOpenIdConnectProviders":{"<替换为你的OIDC提供商配置名称>":{"openIdConnectConfiguration":{"validation":{"allowedAudiences":["<替换为客户端ID>", "<替换为JWT令牌中的aud值>"]}}}}}}}'
额外排查点
  • 先解码你的JWT令牌确认aud字段的实际值,避免填错
  • 确认你在Duende Identity Server申请令牌时指定的Scope包含对应Api资源的Scope,否则令牌不会返回正确的aud声明
  • 若配置后仍报错,可重启一次Function App强制配置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:15:02