Azure IoT远程监控应用AD认证报错IDX10803求助
排查Azure AD认证IDX10803错误方案
针对你遇到的IDX10803错误(无法获取OpenID配置端点内容),结合你近期升级TLS版本的操作,按以下步骤排查:
1. 显式启用.NET Framework 4.6的TLS 1.2支持
.NET Framework 4.6默认支持TLS 1.2,但部分环境下需要显式指定协议。在应用启动流程的最前端(比如Global.asax的Application_Start或ConfigureAuth方法开头)添加代码:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
这会强制应用使用TLS1.2发起出站请求,避免因默认协议集不包含TLS1.2导致无法连接Azure AD端点。
2. 确认Azure App Service的出站TLS配置
仅设置Web应用的最低TLS版本不足以覆盖出站请求,需在Azure门户的App Service配置中:
- 进入TLS/SSL设置
- 将出站TLS版本设置为
1.2
确保应用向login.microsoftonline.com发起的请求使用TLS1.2协议。
3. 验证端点访问性
通过App Service的Kudu控制台(https://<你的应用名>.scm.azurewebsites.net)执行命令,测试能否访问OpenID配置端点:
curl https://login.microsoftonline.com/{Tenant-ID}/.well-known/openid-configuration
- 如果请求失败:排查App Service的网络限制(如VNet集成、防火墙规则),确认出站流量未被拦截。
- 如果请求成功:问题集中在应用层面的协议或中间件配置。
4. 更新OWIN认证中间件版本
你使用的WindowsAzureActiveDirectoryBearerAuthentication和OpenIdConnectAuthentication中间件旧版本可能存在TLS1.2兼容性问题。更新以下NuGet包至兼容.NET Framework 4.6的最新版本:
Microsoft.Owin.Security.OpenIdConnectMicrosoft.Owin.Security.ActiveDirectoryMicrosoft.Owin.Security.Cookies
5. 统一配置来源并检查重定向URI
你的代码中混合使用了configProvider和ConfigurationManager.AppSettings读取配置,建议统一为一种方式,避免配置不一致。同时确认:
- Azure AD应用注册中的重定向URI与代码中
RedirectUri一致(因无SSL证书,需使用http协议的地址) - 确保
Authority变量拼接正确,替换{Tenant-ID}为实际租户ID后,能正常访问对应的OpenID配置端点
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

