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

Entra ID认证失败后重定向回应用及OnAuthenticationFailed触发时机问询

Entra ID认证错误处理与OnAuthenticationFailed触发时机问题

需求

当Entra ID认证过程中出现任何错误时,需在新标签页打开自定义错误页面,同时在原标签页保留原始错误信息。

Entra ID认证流程

  • 用户在我方登录页时,控制权归我方所有
  • 用户点击登录按钮后,被重定向至Entra ID进行认证,此时控制权归Microsoft Entra ID方
  • 认证成功后,会重定向至注册应用中配置的重定向URL(我方网站),将控制权及ID令牌一并返回给我方

问题与尝试代码

当认证过程中发生错误(如CA策略限制或其他原因),微软会展示错误页面,导致控制权停滞在此处。是否有办法在微软错误页面出现时将控制权转回我方应用?

我已尝试在.NET Core MVC 6.0中使用OnAuthenticationFailed,代码如下:

builder.Services.AddAuthentication(options =>
    {
        options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
    })
    .AddMicrosoftIdentityWebApp(options =>
    {
        builder.Configuration.Bind("AzureAd", options);
        options.Events = new OpenIdConnectEvents
        {
            OnAuthenticationFailed = context =>
                {
                    // Redirect to a custom error page on authentication failure
                    context.Response.Redirect("/Home/Error");
                    context.HandleResponse(); 
                    return Task.CompletedTask;
                }
        };
    });

想了解OnAuthenticationFailed具体何时触发?


解答

一、OnAuthenticationFailed的触发时机

OnAuthenticationFailed是OpenID Connect中间件的事件,仅当微软Entra ID将认证错误信息返回给我方应用的重定向URL时才会触发——也就是说,只有当Entra ID完成错误处理并将用户重定向回我方配置的回调地址时,这个事件才会被执行。

如果认证错误发生在Entra ID自身的流程中(比如CA策略限制导致直接在微软页面显示错误),此时Entra ID不会将用户重定向回我方应用,OnAuthenticationFailed自然不会触发,这就是你遇到的控制权停滞的原因。

二、解决控制权转回我方的方案

要让Entra ID在认证出错时将用户引导回我方应用,需要在Entra ID的应用注册中配置错误URL:

  1. 登录Azure门户,找到你的Entra ID注册应用
  2. 在「认证」页面的「高级设置」中,设置「错误URL」为我方网站的错误处理页面地址
  3. 保存配置后,当Entra ID流程中出现错误时,会将用户重定向到这个错误URL,此时我方应用就能接管控制权

三、实现新标签页打开自定义错误页的思路

由于Entra ID的重定向是在当前标签页进行的,要实现原标签页保留微软错误信息、新标签页打开自定义页,需要:

  • 当我方错误页面接收到Entra ID传递的错误参数后,通过前端JavaScript代码(如window.open("/Home/CustomError", "_blank"))打开新标签页展示自定义错误
  • 原标签页可以选择保留微软错误内容,或者跳转到我方的说明页面

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 16:02:34