Azure Portal: плохой запрос - слишком длинный запрос

Я только что получил следующую ошибку, когда попытался запустить встроенную политику редактирования b2c из portal.azure.com. У меня есть 2 вкладки портала. Почему я получаю эту ошибку?

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

Примечание. Я испытал это же сообщение об ошибке при тестировании active-directory проект -b2c-dotnet-webapp-and-webapi. Причиной было то, что я отправлял слишком много файлов cookie. Это та же проблема?

Если это одна и та же проблема, не следует удалять файлы cookie перед созданием новых?


Я вижу много файлов cookie для https://login.microsoftonline.com

chrome cookies  node

скриншот 1 куки файлов экран снят 2 из файлов cookie

Ответ 1

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

Вход в Azure AD B2C осуществляется через login.microsoftonline.com, как и почти все службы Microsoft (O365, Azure и т.д.). Поэтому, если у вас есть несколько учетных записей, в которые вы вошли через эти службы, вы накапливаете файлы cookie, которые могут вызвать эту проблему.

Это должно происходить гораздо чаще с разработчиками, чем с конечными пользователями, поскольку разработчики входят на портал Azure со своей корпоративной учетной записью, возможно, также с учетной записью администратора B2C, а затем тестируют свое приложение на основе B2C с несколькими входами в систему.

В долгосрочной перспективе ответом будет разрешение клиентам Azure AD B2C указать свой собственный домен. Это обеспечивает изоляцию cookie файлов приложения B2C от всего остального в login.microsoftonline.com. По состоянию на 2019-06-23 эта функция находится в стадии разработки. Вы можете поддержать эту функцию и следить за ее развитием, проголосовав за нее на форуме отзывов Azure AD B2C: домены, принадлежащие клиентам

Тем не менее, тем временем, есть две вещи, которые вы можете изучить:

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

  2. Ограничьте количество претензий, которые вы включаете в свой токен. Чем больше атрибутов вы включите в свою политику, тем в конечном итоге вы получите более длинные http-запросы, которые дадут вам меньше средств для файлов cookie из других свойств Microsoft.

Примечание. Это тот же вопрос, что и: http 400: размер запроса заголовка слишком длинный при входе в систему с использованием многофакторной аутентификации.

ОБНОВЛЕНИЕ 2018-11:

Azure AD B2C позволяет вам использовать b2clogin.com вместо login.microsoftonline.com, что значительно снизит вашу подверженность этой проблеме, поскольку вы больше не будете делиться файлами cookie с другими службами Microsoft.

Ответ 2

Если вы столкнулись с "HTTP Error 400 Bad Request - Request Too Long" для вашей учетной записи Azure, вы также можете проверить, был ли URL обновлен Microsoft.

В моем случае я хотел проверить свои подписки Azure. Я имел обыкновение переходить по этому URL: https://account.azure.com/Subscription

Но совсем недавно это стало причиной появления проблемы "Bad Request Header Too long". Я проверил URL и обнаружил, что теперь это правильное место для доступа к моим подпискам: https://account.windowsazure.com/Subscription

Ответ 3

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

Если вы любитель хрома, есть расширение файла cookie для редактирования, используйте его и попробуйте удалить куки файлы login.microsoftonline.com и portal.azure.com

Ответ 4

Я думаю, проблема связана с реализацией OWIN по умолчанию, используемой в примерах приложений MVC, единственное, что вы можете сделать, это закрыть браузер (и все остальные экземпляры) и перезапустить.

Вы можете смотреть, как cookie становится все больше и больше, а затем браузер отказывается.

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

Ответ 5

Вы также можете проверить b2clogin.com, описанный здесь. Согласно Microsoft:

  • Файлы cookie больше не передаются другим службам Microsoft.

Ответ 6

Я получил несколько ответов, потому что я был частью слишком многих активных каталогов. Я был частью активных каталогов ZERO, когда столкнулся с этой проблемой. Я очистил свои куки и сделал около двух шагов, прежде чем это случилось снова. Похоже, что в запросе отправлено много-много файлов cookie от Microsoft, Azure, Facebook, Google, cookies и AdSense, но удаление их всех не помогло. Наконец-то я получил доступ к вкладке инкогнито.

tl; dr Попробуйте вкладку инкогнито