2017-09-07 131 views
5

我剛剛收到以下錯誤,當我試圖從portal.azure.com運行built-in b2c編輯策略時。我有2個打開的門戶選項卡。爲什麼我收到此錯誤?Azure Portal:錯誤請求 - 請求太長

錯誤請求 - 請求太長 HTTP錯誤400.請求頭的大小過長。

注:我在測試active-directory-b2c-dotnet-webapp-and-webapi sample project時遇到this same error message。提供的原因是我發送的cookie太多。這是同樣的問題嗎?

如果是同一個問題,在創建新問題之前不應該陳舊cookies be deleted


我看到了很多的餅乾爲https://login.microsoftonline.com

chrome cookies node

screen shot 1 of cookies screen shot 2 of cookies

回答

15

錯誤HTTP平滑400:頭要求的尺寸過長一般都是因爲太多的餅乾或餅乾太大而發生

Azure AD B2C的登錄經歷了login.microsoftonline.com,幾乎每個Microsoft服務(O365,Azure等)都是如此。因此,如果您有多個帳戶通過這些服務登錄過,那麼您就會累積可能導致此問題的Cookie。

由於開發人員使用他們的公司帳戶登錄到Azure門戶,也可能使用B2C管理員帳戶,然後使用多個登錄名測試他們的B2C驅動的應用程序,這對開發人員而言會比終端用戶頻繁得多。

從長遠來看,答案將允許Azure AD B2C客戶指定他們自己的自定義域。這使得應用程序的B2C Cookie與login.microsoftonline.com中的所有其他內容隔離。截至2017年9月16日,該功能仍在開發中。你可以支持此功能,並通過在Azure的AD B2C反饋論壇表決跟蹤其進展情況:Customer-owned domains

然而,在此期間,有兩兩件事你可以探索

  1. 清除您的cookies。這肯定會每次都有效,這很麻煩,特別是如果提供給最終用戶。

  2. 限制您在令牌中包含的索賠金額。的屬性越你include in your policy,你會用哪個讓你少保證金餅乾從其他Microsoft性質

注較長的HTTP請求結束:這是同樣的問題:http 400: size of header request is too long when signing in user using Multifactor authentication

0

的問題是,因爲多個租戶和那些創造餅乾之間的切換。我們經常遇到這個問題。據我所知,唯一的解決方案是刪除cookie。

如果你是一個情人鉻有一個編輯cookie的擴展,使用並嘗試刪除的餅乾login.microsoftonline.com & portal.azure.com

+2

雖然通常刪除的cookie對我而言,我認爲這不是對客戶的合理期望,尤其是那些對cookies不熟悉的用戶,以及如何刪除它們。如果有人可以同時登錄到許多Google應用程序/服務(使用SSO),爲什麼它應該與微軟有所不同呢? –

+0

客戶從未遇到過這種問題。只有我們的開發人員碰到這種情況,因爲我們正在切換多個租戶和多個租戶策略。 – Ramakrishna

+1

其實我們有幾位客戶本週就會遇到這個問題。他們通過我們的客戶應用程序使用Office 365 + Azure AD B2C。 –

0

我認爲這個問題是使用默認OWIN在示例MVC應用程序中使用的實現,唯一可以做的就是關閉瀏覽器(以及所有其他實例)並重新啓動。

你可以看到cookie變得越來越大,最終瀏覽器放棄了。

我沒有嘗試過的方法上面關於插件,但會給它一個去爲它有點不是殺死所有瀏覽器窗口