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

AzureADB2CDefaults已过时,如何使用Microsoft.Identity.UI替换?

解决方案

1. 确认依赖包

确保项目已安装 Microsoft.Identity.Web 和 Microsoft.Identity.Web.UI(如果需要内置登录/注销UI)这两个NuGet包,它们是当前整合Azure AD B2C的官方推荐依赖。

2. 替换过时的认证配置

无需再使用已过时的AzureADB2CDefaults,通过以下代码完成替换,同时保持与Azure AD B2C的关联:

配置文件(appsettings.json)确保包含完整B2C参数

"AzureAdB2C": {
  "Instance": "https://你的租户域名.b2clogin.com/",
  "Domain": "你的租户域名.onmicrosoft.com",
  "TenantId": "你的租户ID",
  "ClientId": "你的应用Client ID",
  "CallbackPath": "/signin-oidc",
  "SignUpSignInPolicyId": "你的用户流策略ID(比如B2C_1_susi)"
}

替换Startup/Program.cs中的认证代码

如果是.NET 6+的Program.cs:

// 添加Microsoft Identity Web的B2C认证,指定方案名保持与原代码兼容
builder.Services.AddAuthentication()
    .AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAdB2C"),
        authenticationScheme: "AzureADB2C", // 对应原代码中的AzureADB2CDefaults.AuthenticationScheme值
        openIdConnectSchemeName: "AzureADB2COpenId");

// 设置默认认证/挑战方案
builder.Services.Configure<AuthenticationOptions>(options =>
{
    options.DefaultScheme = "AzureADB2C";
    options.DefaultChallengeScheme = "AzureADB2C";
});

// 如果需要启用内置登录UI,添加以下代码
builder.Services.AddControllersWithViews().AddMicrosoftIdentityUI();

如果是旧版Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    // ...其他服务配置

    services.AddAuthentication()
        .AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAdB2C"),
            authenticationScheme: "AzureADB2C",
            openIdConnectSchemeName: "AzureADB2COpenId");

    services.Configure<AuthenticationOptions>(options =>
    {
        options.DefaultScheme = "AzureADB2C";
        options.DefaultChallengeScheme = "AzureADB2C";
    });

    services.AddControllersWithViews().AddMicrosoftIdentityUI();
}

3. 关键说明

  • 手动指定authenticationScheme: "AzureADB2C"可保持与原有代码中方案名的兼容,无需修改其他引用该方案的代码。
  • AddMicrosoftIdentityWebApp会自动识别配置中的B2C参数(如SignUpSignInPolicyId),自动适配B2C认证流程,无需额外配置OpenID Connect细节。
  • 你之前尝试的方案名"AzureADB2"是错误的,必须与配置的认证方案名一致,或直接使用上述代码中的"AzureADB2C"。

内容的提问来源于stack exchange,提问作者Jackington

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:01:55