【问题标题】:Removing CallbackPath from OpenIdConnectAuthenticationOptions gives IDX21323 Error从 OpenIdConnectAuthenticationOptions 中删除 CallbackPath 会产生 IDX21323 错误
【发布时间】:2021-11-20 15:55:00
【问题描述】:

我正在尝试使用 Axure Active Directory 并按照 Microsoft 网站上给出的说明来验证我的 Asp.Net MVC Web 应用程序 https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-asp-webapp.

我遇到了错误: “/MyWebFileDirectory”应用程序中的服务器错误。 "IDX21323: RequireNonce 为 '[PII is hidden]'。OpenIdConnectProtocolValidationContext.Nonce 为空

所以我添加了回调路径 CallbackPath = new PathString("/MyWebFileDirectory/signin-azuread-oidc").

现在 IDX21323 错误消失了。但如果我尝试访问任何具有 Authorize 属性的操作方法,它总是重定向到我的主页。所以它每次都进行身份验证并重定向到主页。

在这里寻找修复。

【问题讨论】:

    标签: c# asp.net-mvc azure azure-active-directory owin


    【解决方案1】:

    解决方案 1:

    检查 AD 应用注册 --> 设置 --> 回复 URL 中提到的 URL。例如,如果该网址是:https://localhost:44348/

    转到 MVC 项目 --> 属性(右键单击和属性) --> 网页部分 --> 开始 URL 和项目 URL 也应该是:https://localhost:44348/

    解决方案 2:

    当对应用程序的请求不包含nonce cookie时,可能会发生错误

    Try with this code
          app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions()
        {
            Notifications = new OpenIdConnectAuthenticationNotifications()
            {
                AuthenticationFailed = AuthenticationFailedNotification<OpenIdConnect.OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> authFailed =>
                {
                    if (authFailed.Exception.Message.Contains("IDX21323"))
                    {
                        authFailed.HandleResponse();
                        authFailed.OwinContext.Authentication.Challenge();
                    }
    
                    await Task.FromResult(true);
                }
            }
        });
    

    更多详情请参考SO-Thread

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      • 2018-07-07
      • 2019-07-25
      • 1970-01-01
      • 2021-04-14
      • 2019-03-04
      • 2014-12-01
      相关资源
      最近更新 更多