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]()
![экран снят 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: домены, принадлежащие клиентам
Тем не менее, тем временем, есть две вещи, которые вы можете изучить:
-
Очистите ваши куки. Это, безусловно, будет работать каждый раз, это просто громоздко, особенно если оно представлено вашим конечным пользователям.
-
Ограничьте количество претензий, которые вы включаете в свой токен. Чем больше атрибутов вы включите в свою политику, тем в конечном итоге вы получите более длинные 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 Попробуйте вкладку инкогнито