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

.NET 8/9 Web应用配置Azure B2C登录遇IDX20803/IDX20804错误

解决.NET 8/9 Web应用Azure B2C登录配置错误(IDX20804/IDX20803)

以下是针对该问题的具体排查和解决步骤:

1. 排查本地代理干扰

本地开发环境的代理设置可能导致应用无法访问Azure B2C的配置端点。可以通过禁用代理来测试:
在Program.cs中添加自定义HttpClient配置:

builder.Services.AddHttpClient().ConfigurePrimaryHttpMessageHandler(() =>
    new HttpClientHandler
    {
        UseProxy = false,
        Proxy = null
    });

若需要使用代理,需手动配置代理地址与认证信息。

2. 强制指定TLS版本

Azure B2C要求使用TLS 1.2及以上版本,确保应用启用对应协议:
在Program.cs开头添加:

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls13;

3. 验证配置文件正确性

检查appsettings.json中的Azure B2C配置项,确保无拼写错误:

"AzureAdB2C": {
  "Instance": "https://xxxxx.b2clogin.com/",
  "Domain": "xxxxx.onmicrosoft.com",
  "ClientId": "你的客户端ID",
  "SignUpSignInPolicyId": "B2C_1_signup_signin",
  "CallbackPath": "/signin-oidc"
}

注意Instance末尾需保留斜杠,Domain不要包含https://前缀。

4. 检查本地安全软件拦截

临时关闭本地防火墙、杀毒软件,测试应用是否能正常获取配置。若关闭后恢复正常,需将Azure B2C的域名(xxxxx.b2clogin.com)加入安全软件的白名单。

5. 自定义认证流程的HttpHandler

在配置认证服务时,指定自定义HttpHandler确保请求正常发送:

builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApp(options =>
    {
        builder.Configuration.Bind("AzureAdB2C", options);
    })
    .ConfigureHttpClient(client =>
    {
        client.DefaultRequestHeaders.UserAgent.ParseAdd("YourAppName/1.0");
    })
    .AddHttpMessageHandler(() => new HttpClientHandler { UseProxy = false });

6. 检查Visual Studio调试设置

  • 确认Visual Studio的调试选项中“启用SSL”是否正常,若存在SSL证书信任问题,可尝试暂时关闭SSL测试(仅用于排查,生产环境需启用)。
  • 检查调试时的网络环境,确保与浏览器使用相同的网络连接(避免VPN、内网代理差异)。

内容的提问来源于stack exchange,提问作者Sebastian Pareja Atencia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:21:02