Asp.net集成Azure AD B2C遇IDW10106错误:ClientId已配置仍提示缺失
解决Azure AD B2C集成ASP.NET时IDW10106错误(ClientId未找到)
核心原因及解决办法
1. 配置节点匹配错误
AddMicrosoftIdentityWebApi默认会从配置的AzureAd节点读取身份验证参数,但你的配置项放在了AzureAdB2C节点下,导致中间件无法定位到ClientId。
修正代码:
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAdB2C"));
2. 连接字符串名称不匹配
代码中读取的连接字符串名称是DefaultConnection1,但appsettings.json里定义的是DefaultConnection,这会导致启动时抛出异常,虽不是直接引发ClientId错误,但可能干扰配置加载流程。
修正代码:
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
3. 缺少B2C必备配置项
Azure AD B2C的JWT验证需要指定策略ID(如注册登录策略),否则即使找到ClientId,后续仍会出现验证失败问题。建议补充配置:
更新appsettings.json:
"AzureAdB2C": { "Instance": "https://skillbasedauth.b2clogin.com", "Domain": "skillbasedauth.onmicrosoft.com", "ClientId": "XXX", "SignUpSignInPolicyId": "B2C_1_你的策略ID" // 替换为实际的B2C策略ID }
内容的提问来源于stack exchange,提问作者inno
相关产品推荐
相关产品推荐

