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

如何为Teams Toolkit开发的Bot启用AAD SSO?双ID配置解惑

问题

我使用Teams Toolkit开发Bot,想了解如何启用AAD SSO,以便在Bot流程中获取用户令牌、邮箱等用户信息。我尝试了官方的SSO开发方法,但不理解为何同时需要AAD_APP_CLIENT_ID和BOT_ID,是否需要注册两套AAD应用?这似乎增加了管理复杂度。相关配置代码如下:

"webApplicationInfo": {
  "id": "${{AAD_APP_CLIENT_ID}}",
  "resource": "api://botid-${{BOT_ID}}"
}

解答

  • 不需要注册两套AAD应用,Teams Toolkit在创建Bot项目并启用SSO时,会自动为你创建并关联一个AAD应用,两个ID只是这个应用不同维度的标识:
    • AAD_APP_CLIENT_ID:是该AAD应用的客户端ID,用于让Teams识别发起SSO请求的应用身份。
    • BOT_ID:是Bot在Azure Bot Service中的唯一标识,api://botid-${{BOT_ID}}是为Bot生成的专属API资源标识符,用于定义令牌的受众(即令牌是颁发给哪个资源的)。
  • 配置中的webApplicationInfo是Teams识别SSO应用身份和资源范围的核心:
    • id字段指定发起SSO的AAD应用ID,确保Teams知道要向哪个AAD应用请求令牌。
    • resource字段指定令牌的目标资源,这里就是你的Bot本身,确保令牌能被Bot验证并用于获取用户信息。
  • 这种设计是为了契合AAD的OAuth2.0规范,同时适配Teams Bot的身份模型,Teams Toolkit已经完成了大部分关联配置,你无需手动维护两套应用,只需通过Toolkit管理这个已关联好的AAD应用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 15:07:42