我已被授權執行SAML2.0 SSO
概念驗證,並且已成功整合了spring saml
擴展,這非常簡單,謝謝作者。雖然,我仍然無法得到RelayState
參數的工作,但我總是在接收SP
上得到它的值爲null
。在SP上接收到的IdP發起的saml總是將RelayState設爲空
我使用SSOCircle's
公共IdP
與IdP
啓動的流(雖然我們沒有封鎖了SP啓動模式),並在URL追加RelayState
。
我試圖使用SAMLRelayStateSuccessHandler
,哪兒能找到從SAMLCredential
實例RelayState
參數,但它始終null
。我將它追溯到HTTPPostDecoder.doDecode(MessageContext messageContext)
方法(HTTP post binding),並且它在那裏也是空的。我也跟蹤了瀏覽器網絡的URL,注意到SP消費者端點發布url,即/saml/SSO
包含SAMLResponse
,但沒有RelayState
參數(我的理解是它將是一個單獨的參數)。
我覺得IdP
可能沒有發送的RelayState
我的SP,但還沒有看到在IdP
端的任何配置啓用/禁用所以不知道。
如果有人可以分享他們類似的經驗,我將不勝感激。
請提供網絡跟蹤與http請求的流程。這是驗證RelayState是否被IDP傳遞的最好方法。 – Hos
@hos我很抱歉回覆這件事,並非常感謝您的回覆。沒有任何答覆超過15天,我已經放棄並沒有監控更新。我之後可能還沒有監控到的另一個原因是,在我的發展之後,我開始採用另一種IDP(我開發的是針對公衆IDP ssocircle)的Pre-prod。它在新的IDP中運行得很順利,所以我認爲問題出在ssocircle上,而不是我的代碼。事實上,最近我意識到ssocircle IDP也開始工作,不確定他們是否進行了一些修復。順便說一下,網絡跟蹤在發佈到我的SP時沒有攜帶RelayState。 – Pete