Azure AD B2C: неверный запрос - запрос слишком длинный HTTP-ошибка 400. Размер заголовков запроса слишком длинный. После входа - PullRequest
0 голосов
/ 26 апреля 2018

Я знаю, что подобный вопрос уже задавался ранее при переполнении стека , но у меня это не сработало. Пожалуйста, прочитайте весь вопрос, прежде чем отвечать / комментировать.

Я реализовал AD B2C в двух веб-приложениях, все работали до последней недели. Теперь неожиданно мы получаем

Неверный запрос - запрос слишком длинный HTTP-ошибка 400. Размер запроса заголовки слишком длинные.

когда пользователь пытается войти на сайт. Так как мой сайт требует, чтобы каждый пользователь вошел в систему, он полностью заблокировал нас.

Мое веб-приложение также не работает в окне инкогнито / inprivate. Браузер: Chrome, Firefox и Edge

Когда я открываю приложение в Chrome (не инкогнито) после удаления всей истории, я вижу, что из URL веб-приложения есть около 160+ файлов cookie.

Да, слишком много файлов cookie, похоже, убивает мое веб-приложение, но оно происходит даже после удаления всей истории браузера и при приватном просмотре.

Даже я уменьшил атрибут утверждений до 3, подозревая, что большее количество атрибутов утверждений может увеличивать размер заголовка. enter image description here

Я пытался , это тоже , но тщетно.

Итог: удаление файлов cookie и уменьшение количества претензий у нас не работают, и мы заблокированы. Заранее спасибо.

1 Ответ

0 голосов
/ 15 мая 2018

Я исправил это после сбора заявки в службу поддержки Microsoft.

Причина: Существует известная проблема с программным обеспечением Owin Middle, когда он не устанавливает cookie-файл для аутентификации, и мы в конечном итоге находимся в цикле входа в систему. Я использовал более старую версию OWIN.

Разрешение: 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() 
  });

Ниже обсуждается тот же вопрос:

Второй вход в систему вызывает бесконечный цикл перенаправления после первого успешного входа. MVC .NET 5 OWIN ADAL OpenIDConnect

Надеюсь, это поможет другим.
Удачного кодирования.

...