簡體   English   中英

State 由 OpenId connect 為 Azure AD 外部登錄生成的太長

[英]State generated too long by OpenId connect for Azure AD external login

我已經使用 OpenID 實現了一個登錄流程,它重定向多個服務器(我的應用程序-> 身份服務器-> Azure AD )來驗證用戶。 我的應用程序身份服務器都使用 OpenId 進行登錄。 在我的登錄流程中,用戶將從我的應用程序重定向到帶有重定向 URI 的身份服務器,然后身份服務器重定向到Azure AD 在這個請求中, state屬性太大,所以 Azure AD 無法接受並顯示請求查詢太長。

我必須減少 Azure AD 登錄請求中state屬性的長度。 您能否建議如何使用 OpenId 在我的應用程序中自定義state生成。 是否可以手動生成和驗證state

如果請求中包含state參數,則響應中應出現相同的值。 應用應驗證請求和響應中的 state 值是否相同。

 GET https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize? client_id=6731de76-14a6-49ae-97bc-6eba6914391e &response_type=id_token &redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F &response_mode=form_post &scope=openid &state=12345 // Any value, provided by your app &nonce=678910

STATE:請求中包含的值也將在令牌響應中返回。 它可以是你想要的任何內容的字符串。 隨機生成的唯一值通常用於防止跨站點請求偽造攻擊。 state 還用於在身份驗證請求發生之前對應用程序中有關用戶 state 的信息進行編碼,例如用戶所在的頁面或視圖。

參考資料:Microsoft 身份平台和 OpenID Connect 協議 - Microsoft 身份平台 | 微軟文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM