Entra External ID未调用自定义身份验证扩展的排查求助
Entra External ID自定义身份验证扩展跨租户API调用报错排查
问题描述
我新建了一个Entra External ID租户,已为AttributeCollectionSubmit和TokenIssuanceStart配置自定义身份验证扩展,这些扩展会调用另一个租户中的REST API。已在主租户完成身份验证设置并授予应用注册管理员同意,同时在External ID中配置了身份提供者,联合到主Entra租户用于测试。
配置用户流在注册期间收集部分字段,测试时进入注册页面点击“下一步”,出现错误提示:
出现问题。如果问题持续,请联系您的IT部门。
在浏览器开发者工具中捕获到错误信息:
"error": { "code": 6000, "correlationId": "f22236f8-4145-41a6-90ab-0118e4ed2f20", "timestamp": "2026-05-20 20:28:02Z", "isFatal": true, "message": "AADSTS1100001" }
直接按预期负载测试API可正常返回,日志符合预期,但API的Application Insights无任何请求日志,External ID租户的登录日志也完全无记录,错误被隐藏,无法定位问题根源。
排查步骤
1. 验证跨租户API身份配置
- 确认External ID租户中用于调用API的应用注册,在主租户的API权限中是否已授予应用权限(而非委托权限),且完成管理员同意。自定义身份验证扩展运行在服务上下文,必须使用应用权限。
- 检查应用注册的客户端凭据(客户端密钥/证书)是否有效、未过期,且主租户的API已允许该客户端ID访问。
2. 检查自定义身份验证扩展配置细节
- 确认扩展的API端点URL无拼写错误,且External ID租户的网络可访问该端点(排除防火墙、NSG等网络拦截)。
- 验证扩展的请求负载模板与API预期完全匹配,包括参数名称、数据类型(如日期格式、字符串长度)。
- 检查扩展的超时设置是否合理,若API响应较慢,可能触发超时导致无日志返回。
3. 启用自定义身份验证扩展诊断日志
- 在Entra Portal的External ID租户中,进入自定义身份验证扩展配置页面,开启
AuthenticationExtension类别的诊断日志,并将日志发送到Log Analytics工作区。 - 触发测试流程后,在Log Analytics中用错误中的
correlationId过滤日志,查看扩展执行的详细错误信息(如身份验证失败、请求发送失败等)。
4. 排查跨租户身份信任关系
- 确认主租户与External ID租户的身份提供者配置正确,尤其是联合身份的声明映射、令牌签名证书是否有效。
- 检查主租户的API注册中,受支持的账户类型是否设置为“任何组织目录中的账户”,或已明确添加External ID租户的租户ID。
5. 验证API访问日志配置
- 确认API的Application Insights已正确配置请求跟踪,比如启用了
ApplicationInsights.AspNetCore中间件且连接字符串无误。 - 若API部署在Azure App Service,检查App Service的诊断日志是否启用,查看是否有请求到达但被拦截的记录。
内容的提问来源于stack exchange,提问作者uomolupo
相关产品推荐
相关产品推荐

