Azure AD B2C: неверный запрос - слишком длинный запрос. Ошибка HTTP 400. Размер заголовков запроса слишком длинный. После входа в систему

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

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

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

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

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

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

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

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

Я пробовал тоже, но напрасно.

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


person Ankit Kumar    schedule 26.04.2018    source источник
comment
Вы проверяли то же самое, работая с вашим локальным хостом? Вы наблюдаете ту же проблему?   -  person Ramakrishna    schedule 26.04.2018
comment
@Ramakrishna: Он отлично работает в localhost. это происходит только в Azure.   -  person Ankit Kumar    schedule 26.04.2018
comment
Может быть, какой-то бесконечный цикл перенаправления?   -  person juunas    schedule 26.04.2018


Ответы (1)


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

Причина:. Существует хорошо известная проблема с промежуточным программным обеспечением Owin, когда оно не устанавливает файл 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

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

person Ankit Kumar    schedule 15.05.2018
comment
Я сталкиваюсь с этой проблемой для сайта, созданного на основе шаблона .NET Core 3.0 по умолчанию. - person CalvinDale; 27.05.2019