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

Azure Logic Apps无法获取AAD身份验证令牌问题求助

Azure Logic App AD OAuth调用API获取令牌失败(受众无效)

问题背景

尝试通过Azure Logic App的Active Directory OAuth身份验证调用第三方API时,始终收到The audience '2222-2222-2222-2222' is invalid错误,已尝试多种受众格式均无效:

  • 应用注册信息:
    • API应用:api,应用ID 2222-2222-2222-2222
    • Logic App应用:logic,应用ID 3333-3333-3333-3333,已创建客户端密钥secretValue,并添加了API的access_as_application应用权限且完成管理员授予
  • Logic App配置:
    • 身份验证类型:Active Directory OAuth
    • 颁发机构:空白
    • 租户:1111-1111-1111-1111
    • 受众:已尝试2222-2222-2222-2222、api://2222-2222-2222-2222等多种格式

解决方案

1. 确认API应用的标识符URI(核心)

受众参数必须严格匹配API应用注册中的标识符URI(Application ID URI),操作步骤:

  • 进入Azure AD -> 应用注册 -> 找到api应用 -> 切换到「概述」标签页
  • 复制页面中的「标识符URI(Application ID URI)」值,这就是Logic App中需要填写的正确受众(通常格式为api://{api-app-id},但以实际配置为准)

2. 修正Logic App的OAuth配置

  • 颁发机构不能留空,根据API使用的Azure AD端点版本填写:
    • v2端点:https://login.microsoftonline.com/{tenant-id}/v2.0
    • v1端点:https://login.microsoftonline.com/{tenant-id}
  • 受众粘贴第一步复制的标识符URI,不要添加.default或权限名称(这些是作用域参数的内容,不属于受众范畴)

3. 二次确认权限配置

  • 确保logic应用注册添加的是应用权限(而非委派权限),且该权限已由全局管理员或API权限管理员完成「授予管理员同意」操作
  • 检查API应用注册的「公开API」标签页,确认access_as_application权限的「谁能同意」设置为「管理员和用户」或「仅管理员」(应用权限必须经过管理员同意才能生效)

4. 预测试验证(可选)

用Postman模拟客户端凭证流获取令牌,验证配置正确性:

  • 请求地址:POST https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
  • 请求参数(form-data格式):
    • grant_type: client_credentials
    • client_id: 3333-3333-3333-3333
    • client_secret: secretValue
    • scope: {api-identifier-uri}/.default(例如api://2222-2222-2222-2222/.default)
  • 如果成功获取令牌,说明配置无误,将受众参数同步到Logic App即可

内容的提问来源于stack exchange,提问作者Kristoffer Jälén

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 09:55:31