使用Teams Toolkit将现有Teams应用转为多租户时预配失败
解决Teams Toolkit将SSO应用转为多租户时的AAD预配错误
问题重现
使用Teams Toolkit的SSO Enabled Tab选项创建单租户Teams应用后,按照官方步骤修改aad.template.json内的signInAudience值为AzureADMultipleOrgs,运行预配时出现如下错误:
Failed to update application in Azure Active Directory. Please make sure 'templates/appPackage/aad.template.json' is valid: Request failed with status code 400 Detailed error: Request failed with status code 400. Reason: Values of identifierUris property must use a verified domain of the organization
改回AzureADMyOrg后预配恢复正常,这类问题在开发者社区中很常见,核心原因和修复方案如下:
核心原因
多租户Azure AD应用对identifierUris字段有严格限制:必须使用租户内已验证的自定义域名作为前缀。单租户模式下允许使用未验证域名(如localhost、默认.onmicrosoft.com后缀域名),但多租户模式下AAD会拒绝这类未验证的标识符URI。
具体修复步骤
- 登录Azure AD门户,进入「自定义域名」页面,确认租户下存在状态为「已验证」的自定义域名。若没有,需先添加并通过DNS记录完成域名验证。
- 打开项目中的
templates/appPackage/aad.template.json,找到identifierUris字段,将原有值替换为已验证域名为前缀的格式,示例:
(将"identifierUris": ["api://your-verified-domain.com/${{TEAMS_APP_ID}}"]your-verified-domain.com替换为你实际的已验证域名,${{TEAMS_APP_ID}}保留为Teams Toolkit的环境变量) - 如果之前已预配过单租户AD应用,建议先在Azure AD门户删除旧的应用注册,再重新运行Teams Toolkit预配命令,避免配置冲突。
- 重新执行预配操作,即可完成多租户应用的配置。
额外注意事项
- 禁止使用
localhost或未验证域名作为identifierUris的前缀,否则多租户模式下AAD会持续返回400错误。 - 若使用Teams Toolkit的环境变量生成标识符URI,需确保最终渲染后的URI符合已验证域名要求。
内容的提问来源于stack exchange,提问作者Naina
相关产品推荐
相关产品推荐

