You need to enable JavaScript to run this app. ASP.NET Core 5接入OpenIdConnect后根路由返回空白页问题排查
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 5接入OpenIdConnect后根路由返回空白页问题排查

问题根源

你的Azure AD B2C配置里将SignedOutCallbackPath设置为了/,和根路由完全冲突。OpenIdConnect认证中间件会优先匹配该回调路径,拦截根路径请求处理登出逻辑,无登出上下文时就会直接返回空白响应,不会走到后续的路由匹配环节。

修复步骤

  1. 修改appsettings.json中的SignedOutCallbackPath为不与业务路由冲突的专用回调路径,比如标准的/signout-callback-oidc:
"AzureAdB2C": {
    "Instance": "https://abc.b2clogin.com",
    "Domain": "abc.onmicrosoft.com",
    "ClientId": "62...f1",
    "TenantId": "7e...ae",
    "SignUpSignInPolicyId": "B2C_1_SUSI",
    "SignedOutCallbackPath": "/signout-callback-oidc"
},
  1. 保持中间件顺序不变,你原本的UseRouting → UseAuthentication → UseAuthorization → UseEndpoints顺序是正确的,不要将UseEndpoints移到认证中间件之前,否则会出现登录循环问题。

  2. 如果需要实现登出后跳转回首页的需求,不要修改SignedOutCallbackPath,额外配置SignedOutRedirectUri即可:

services.Configure<OpenIdConnectOptions>(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
    // 登出完成后跳转到根路径
    options.SignedOutRedirectUri = "/";
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 20:15:03