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

ASP.NET Core 6 Azure AD认证报错:需配置OpenIdConnectOptions相关参数

解决ASP.NET Core 6中Azure AD认证+Identity的OpenIdConnect配置异常

异常提示明确要求必须为OpenIdConnectOptions配置Authority、MetadataAddress等核心参数,结合Azure AD认证场景,以下是具体修复方案:

1. 补充Azure AD配置项到appsettings.json

先在配置文件中添加Azure AD的基础信息(这些值可从Azure门户的应用注册页面获取):

"AzureAd": {
  "Instance": "https://login.microsoftonline.com/",
  "TenantId": "你的租户ID",
  "ClientId": "你的应用客户端ID",
  "CallbackPath": "/signin-oidc"
}

2. 在Program.cs中正确配置OpenIdConnect

结合Identity的使用,需在认证服务中明确配置OpenIdConnect参数,示例代码如下:

var builder = WebApplication.CreateBuilder(args);

// 添加Identity服务
builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
    .AddEntityFrameworkStores<ApplicationDbContext>();

// 读取Azure AD配置节点
var azureAdSection = builder.Configuration.GetSection("AzureAd");

// 配置认证服务,添加OpenIdConnect方案
builder.Services.AddAuthentication()
    .AddOpenIdConnect(options =>
    {
        // 配置Authority(核心必填项)
        options.Authority = $"{azureAdSection["Instance"]}{azureAdSection["TenantId"]}";
        options.ClientId = azureAdSection["ClientId"];
        options.CallbackPath = azureAdSection["CallbackPath"];
        options.ResponseType = "code";
        options.SaveTokens = true;
        // 可选:添加需要获取的用户信息范围
        options.Scope.Add("email");
        options.Scope.Add("profile");
    });

var app = builder.Build();

// 中间件顺序:认证在前,授权在后
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();

app.MapRazorPages();
app.MapControllers();

app.Run();

关键配置说明

  • Authority:格式为https://login.microsoftonline.com/{TenantId},若为多租户应用,可将TenantId替换为common。
  • 若不想手动拼接Authority,也可直接配置MetadataAddress,值为https://login.microsoftonline.com/{TenantId}/v2.0/.well-known/openid-configuration,OpenIdConnect会自动从该地址拉取认证配置。
  • 必须保证UseAuthentication中间件在UseAuthorization之前执行,否则认证逻辑不会生效。

内容的提问来源于stack exchange,提问作者Đặng Đức

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:57:22