跨租户外部应用访问Azure Active Directory SSO报AADSTS700016问题咨询
核心结论
首先明确:完全可以通过SAML SSO实现同一AD用户对不同租户下多个应用的身份验证,你遇到的AADSTS700016报错属于配置不匹配问题,和SAML的跨租户支持能力无关。
报错根本原因
- 配置复用错误:每个需要对接源AD做SAML认证的应用,都需要在源AD内单独注册专属的企业应用,生成独有的配置参数。你直接将源AD内其他应用的SAML连接信息复用给另一租户的Web应用,导致源AD无法识别请求对应的应用身份。
- 请求端点错误:SAML认证请求未发往源AD租户对应的SAML单点登录端点,而是发往了Web应用所属租户的端点,导致目标租户目录内找不到对应注册的应用。
- 权限配置缺失:你未在源AD内给该Web应用对应的注册实体完成用户访问权限分配、管理员同意授权,也会触发该类权限拦截报错。
修复操作步骤
- 登录已经完成SAML基础配置的源AD租户管理后台,进入企业应用管理模块,新建一个非库应用,专门对应另一租户下的目标Web应用。
- 进入该新建应用的SAML配置页面,准确填写Web应用的
实体ID(Entity ID)、断言使用者服务URL(ACS URL)等必填参数,保存后下载该应用专属的SAML元数据,或单独复制SSO端点、签名证书等连接信息。 - 把上述专属配置参数填入另一租户下Web应用的SAML身份提供商配置栏,不要复用之前其他应用的SAML连接信息。
- 在源AD的该新建企业应用内,分配需要访问该Web应用的用户或用户组权限,完成管理员同意授权操作,放开应用访问限制。
- 发起认证请求前校验:SAML请求的Issuer字段必须和源AD内配置的应用实体ID完全一致,请求的目标端点为源AD租户对应的SAML SSO端点。
内容的提问来源于stack exchange,提问作者Tibor
相关产品推荐
相关产品推荐

