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

多租户Teams Tab应用SSO调用Microsoft API报错,单租户正常

Teams Tab多租户SSO问题解决指南

问题概述

使用Teams Toolkit的「SSO enabled Tab」功能实现Teams Tab应用的SSO后,本租户Microsoft账号下运行正常,但其他租户账号调用Microsoft API时触发AADSTS500011错误,无法实现多租户登录。

错误详情

{
  "error": "invalid_resource",
  "correlation_id": "4c3b68b7-e486-4a0b-9f6b-18daca87d36a",
  "error_codes": [500011],
  "error_description": "AADSTS500011: The resource principal named api://myconnectprodc5820ctab.z10.web.core.windows.net/dc64f450-283f-4d88-88ca-2746d5898f15 was not found in the tenant named Contoso. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You might have sent your authentication request to the wrong tenant.\nTrace ID: 43460303-4cfb-4426-af97-d82fff0e6b00\nCorrelation ID: 4c3b68b7-e486-4a0b-9f6b-18daca87d36a\nTimestamp: 2023-05-30 11:55:44Z",
  "error_uri": "https://login.microsoftonline.com/error?code=500011",
  "timestamp": "2023-05-30 11:55:44Z",
  "trace_id": "43460303-4cfb-4426-af97-d82fff0e6b00"
}

请求详情:

POST https://login.microsoftonline.com/5ec8afbc-af51-44e6-87dc-d90f5b953f77/oauth2/v2.0/token 400 (Bad Request)

核心Payload参数:

  • client_id: 5e3ce6c0-2b1f-4285-8d4b-75ee78787346
  • scope: api://myconnectprodc5820ctab.z10.web.core.windows.net/dc64f450-283f-4d88-88ca-2746d5898f15/.default openid profile offline_access
  • grant_type: refresh_token

错误原因

AADSTS500011错误本质是:目标租户(Contoso)中找不到指定的资源主体(你的自定义API),通常由以下场景导致:

  1. 应用注册仅配置为单租户,未开启多租户支持;
  2. 目标租户未完成应用权限的同意流程(管理员或用户授权);
  3. 认证请求使用了固定租户ID,而非多租户通用的common或organizations参数。

解决步骤

  • 将应用注册设为多租户
    在Azure AD门户找到你的Teams Tab应用注册,进入「概述」页面,修改「支持的账户类型」:

    • 仅支持企业租户用户:选择「任何组织目录中的账户」
    • 同时支持个人Microsoft账户:选择「任何组织目录中的账户和个人Microsoft账户」
      保存配置。
  • 确保自定义API支持多租户
    针对scope中指定的自定义API(api://myconnectprodc5820ctab.z10.web.core.windows.net/dc64f450-283f-4d88-88ca-2746d5898f15),找到对应的Azure AD应用注册,同样将其设为多租户模式,并确认已配置所需的API权限。

  • 完成目标租户的权限同意

    • 若应用需要管理员级权限:请目标租户的管理员访问应用的权限同意URL,完成管理员授权;
    • 若仅需要用户级权限:让目标租户用户首次登录应用时,完成手动授权流程。
  • 修改MSAL认证配置
    确认MSAL初始化时的authority参数使用多租户值,避免固定租户ID:

    const msalConfig = {
      auth: {
        clientId: "YOUR_CLIENT_ID",
        authority: "https://login.microsoftonline.com/common", // 或"organizations"
        redirectUri: "YOUR_REDIRECT_URI"
      }
    };
    
  • 更新应用并清除缓存
    重新部署配置更新后的应用,通知目标租户用户清除Teams客户端缓存或重新登录Teams,确保新配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:54:57