首页 文章

Azure AD B2C:错误请求 - 请求太长HTTP错误400.请求标头的大小太长 . 登录后

提问于
浏览
1

我知道类似的问题早已被提出at stack overflow但它对我没有用 . 在回答/评论之前,请仔细阅读整个问题 .

我已经在两个Web应用程序中实现了AD B2C,所有这些都在上周工作正常 . 现在我们突然间得到了

错误请求 - 请求太长HTTP错误400.请求标头的大小太长 .

当用户尝试登录网站时 . 由于我的网站要求每个用户都登录,因此它完全阻止了我们 .

我的网络应用也无法在隐身/隐私窗口中使用 . 浏览器:Chrome,Firefox和Edge

当我在删除所有历史记录后以chrome(非隐身)打开应用程序时,我可以看到来自网络应用程序网址的大约160个Cookie .

是的太多cookie似乎正在杀死我的webapp,但它甚至在删除浏览器的所有历史记录和私密浏览之后也会发生 .

甚至我已经将claim属性减少为3,怀疑更多声明属性可能会增加标头大小 .
enter image description here

我试过this too但是徒劳无功 .

结论:删除cookie和减少索赔都不适用于我们,我们被阻止 . 提前致谢 .

1 回答

  • 0

    在微软支持团队提出一张票后,我得到了修复 .

    Cause: Owin Middle ware存在一个众所周知的问题,即它没有设置身份验证cookie,我们最终会进入登录循环 . 我使用的是旧版本的OWIN .

    Resolution: OWIN版本3.1.0.0已根据cookie管理器集成了修复程序 .

    注意:尽管使用了修复程序,如果我们在应用程序中使用了自定义SESSIONSTATE处理程序,我们可能会遇到问题 . 在STARTUP.AUTH.CS中,我们需要进行以下更改

    旧:

    app.UseCookieAuthentication(new CookieAuthenticationOptions{});
    

    新:

    app.UseCookieAuthentication(new CookieAuthenticationOptions   {
          AuthenticationType = "Cookies",
          CookieManager = new Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager() 
      });
    

    以下是讨论相同的问题:

    Second sign-in causes infinite redirect loop after the first successful login MVC .NET 5 OWIN ADAL OpenIDConnect

    希望这有助于其他人 .
    快乐的编码 .

相关问题