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

Teams应用部署后调用Azure Function遇令牌验证失败求助

问题分析与解决方法

1. 检查Azure Function的访问权限配置

  • 登录Azure门户,找到你的Function应用,进入访问控制(IAM)页面,添加角色分配:将报错中提到的客户端ID(5e3ce6c0-2b1f-4285-8d4b-75ee78787346)添加为函数应用参与者或自定义角色,确保该客户端拥有调用Http触发器的权限。
  • 进入身份验证/授权页面,确认已启用Azure AD登录,且你的多租户AAD应用已被配置为允许的身份提供者。同时验证令牌的受众(Audience)是否匹配Function的应用ID URI(可在Function的“身份”页面查看)。

2. 修正令牌请求的权限范围

你当前调用getToken("")时未指定权限范围,导致获取的令牌可能不包含调用Function所需的权限。需修改代码,将空字符串替换为你的Azure Function的应用ID URI(格式为api://<Function应用客户端ID>/.default):

const accessToken = await teamsfx.getCredential().getToken("api://<你的Function应用客户端ID>/.default");

同时,在Azure AD应用注册的API权限页面,添加该Function的API权限并完成管理员同意,确保客户端应用被授权调用Function。

3. 验证多租户配置的完整性

  • 确认AAD应用注册的账户类型已设置为“任何组织目录中的账户”,并在身份验证页面添加部署后Teams应用的生产环境重定向URI。
  • 检查Function的应用设置,确认WEBSITE_AUTH_ALLOWED_AUDIENCES配置项包含你的AAD应用客户端ID或正确的令牌受众值,保证多租户场景下令牌能被正确验证。

4. 核对IdentityType与令牌获取逻辑

  • 若使用User身份:确保用户已完成SSO登录,令牌为用户上下文令牌,同时Function的IAM需允许用户所在租户的用户访问。
  • 若使用App身份:确保Teams应用的AAD客户端已被授予Function的应用权限,且Teams Toolkit中已正确配置应用身份的凭据与权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:27:55