我正在使用PingFederate作爲Idenity Provider。我的應用程序(服務提供商)將RelayState發送到PingFederate。但是,在成功驗證時,我沒有收到RelayState。PingFederate在其響應中未發回relayState
通過RelayState,我的理解是它的狀態信息,在PingFederation結束時,ServiceProvider在成功認證時需要這些信息。
請糾正我如果我錯了。
我正在使用PingFederate作爲Idenity Provider。我的應用程序(服務提供商)將RelayState發送到PingFederate。但是,在成功驗證時,我沒有收到RelayState。PingFederate在其響應中未發回relayState
通過RelayState,我的理解是它的狀態信息,在PingFederation結束時,ServiceProvider在成功認證時需要這些信息。
請糾正我如果我錯了。
PingFederate似乎在以不同但非標準的方式處理RelayState。以下是該鏈接以供參考:在IdPEndPoint URL作爲參數
https://documentation.pingidentity.com/pingfederate/pf84/index.shtml#concept_idpEndpoints.html
可選參數TargetResource或目標。這個值必須是URL和URL編碼。
的是從不同是什麼SAML2規範http://docs.oasis-open.org/security/saml/v2.0/
我使用HTTP POST綁定,這是規範說什麼
3.5.3的RelayState
的RelayState數據可以被包括與此綁定一起傳輸的SAML協議消息 。該值不得超過80字節長度,並且應該由創建消息的實體進行完整性保護,而不受在消息傳輸期間可能存在或不存在的其他任何保護的影響。考慮到空間限制,簽名是不現實的,但由於該值暴露給第三方篡改,實體應該確保該值未被 使用校驗和,僞隨機值或類似手段篡改。如果SAML 請求消息伴隨有RelayState數據,則響應者必須使用綁定來返回其SAML協議響應,該綁定也支持RelayState機制,並且必須將它隨請求一起收到的確切數據 放入相應的RelayState 參數在響應中。如果SAML 請求消息中不包含此類值,或者SAML響應消息在沒有相應請求的情況下正在生成 ,則SAML響應方可能會包含 RelayState數據,以便接收方根據使用的 a個人資料或雙方事先達成的協議。
WSO2似乎迴應無論我們發送給它作爲RelayState值。
順便說一句我正在使用PingFederate 8.2.11。
你正在使用什麼版本的PingFederate?
由於您從SP獲得中繼狀態,因此您應該看到發佈到您的PingFed端點的AuthNRequest。
您可以使用帶有SSO-Tracer或SAML-Tracer的Firefox來驗證您是否獲得發佈到Ping的中繼狀態並查看返回的響應。
這不是您正在查看的正確端點 - 您鏈接到的頁面是IdP Application Endpoints,它確實是PingFederate專有的,旨在讓自定義應用程序與其橋接。 SAML協議端點(此處記錄:https://documentation.pingidentity.com/pingfederate/pf84/index.shtml#concept_viewingProtocolEndpoints.html)是標準協議,並且會顯示迴應RelayState。 –
Scott的說法正確 - 你說的是應用程序端點,而不是協議端點。 PingFederate已經並且一直遵循協議多年。 –
感謝您的寶貴意見。我會研究它並相應地更新線程 – Vish