web-dev-qa-db-ja.com

Azure Portal:不正なリクエスト-リクエストが長すぎます

built-in b2c ポリシーを portal.Azure.com から編集しようとすると、次のエラーを受け取りました。ポータルの2つのタブを開いています。このエラーが表示されるのはなぜですか?

不正な要求-要求が長すぎるHTTPエラー400。要求ヘッダーのサイズが長すぎます。

注: active-directory-b2c-dotnet-webapp-and-webapiサンプルプロジェクト のテスト時に これと同じエラーメッセージ が発生しました。提供された理由は、送信するCookieが多すぎることです。同じ問題ですか?

同じ問題であれば、新しいものを作成する前に、古くなってはいけません cookies deleted


https://login.microsoftonline.com には多くのCookieがあります

chrome cookies node

screen shot 1 of cookiesscreen shot 2 of cookies

16
spottedmahn

エラーHTTP 400:ヘッダーリクエストのサイズが長すぎますは、通常、Cookieが多すぎるか大きすぎるために発生します

Azure AD B2Cのログインは、ほとんどすべてのMicrosoftサービス(O365、Azureなど)と同様に、login.microsoftonline.comを経由します。したがって、これらのサービス全体でサインインしたアカウントをいくつか持っている場合、この問題を引き起こすCookieを蓄積していることになります。

開発者は企業アカウントでAzureポータルにログインしているため、おそらくB2C管理者アカウントでログインしてから、複数のログインでB2C搭載のアプリをテストするため、これはエンドユーザーよりも開発者に頻繁に発生します。

長期的には、Azure AD B2Cのお客様が独自のカスタムドメインを指定できるようにすることです。これにより、アプリケーションのB2C Cookieがlogin.microsoftonline.comの他のすべてから隔離されます。 2019-06-23現在、この機能はまだ開発中です。この機能をサポートし、Azure AD B2Cフィードバックフォーラムで投票して進捗を追跡できます。 顧客所有ドメイン

ただし、暫定的に、次の2つのことを検討できます

  1. Cookieをクリア。これは毎回確実に機能しますが、特にエンドユーザーに提示する場合は、面倒です。

  2. トークンに含めるクレームの量を制限する。より多くの属性 ポリシーに含める を使用すると、http要求が長くなり、他のMicrosoftプロパティからのCookieに対するマージンが少なくなります。

注:これは次と同じ質問です: http 400:多要素認証を使用してユーザーをサインインする場合、ヘッダー要求のサイズが長すぎます

2018-11更新:

Azure AD B2Cでは、 b2clogin.comを使用 login.microsoftonline.comの代わりに使用できます。これにより、この問題への露出を大幅に削減できます Cookieを共有しなくなります他のMicrosoftサービスと。

27
Saca

Azureアカウントで「HTTP Error 400 Bad Request-Request Too Long」が発生した場合は、MicrosoftによってURLが更新されているかどうかを確認することもできます。

私の場合、Azureサブスクリプションを確認したかったです。以前は次のURLにアクセスしました: https://account.Azure.com/Subscriptions

しかしごく最近、「Bad Request Headers Too long」という問題が発生し始めました。 URLを確認したところ、これが私のサブスクリプションにアクセスするための正しい場所であることがわかりました。 https://account.windowsazure.com/Subscriptions

1
Phileo99

問題は、サンプルMVCアプリで使用されるデフォルトのOWIN実装にあると思います。できることは、ブラウザー(および他のすべてのインスタンス)を閉じて再起動することだけです。

クッキーがどんどん大きくなり、最終的にブラウザがbrowserめるのを見ることができます。

私はプラグインについて上記のアプローチを試していませんが、すべてのブラウザウィンドウを殺すよりも少しスムーズなので、試してみます

0
user1197563

here で説明されているb2clogin.comを確認することもできます。マイクロソフトによると:

  • Cookieは他のMicrosoftサービスと共有されなくなりました。
0
Joro G.

この問題は、複数のテナントとCookieを作成するテナントを切り替えるためです。私たちはこの問題に頻繁に直面しています。私の知る限り、唯一の解決策はクッキーを削除することです。

chrome恋人である場合、編集Cookie拡張機能があります。それを使用して、login.microsoftonline.comおよびportal.Azure.comのCookieを削除してみてください。

0
Ramakrishna