2017-09-04 71 views
1

我正在使用PingFederate作爲Idenity Provider。我的應用程序(服務提供商)將RelayState發送到PingFederate。但是,在成功驗證時,我沒有收到RelayState。PingFederate在其響應中未發回relayState

通過RelayState,我的理解是它的狀態信息,在PingFederation結束時,ServiceProvider在成功認證時需要這些信息。

請糾正我如果我錯了。

回答

-3

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。

+1

這不是您正在查看的正確端點 - 您鏈接到的頁面是IdP Application Endpoints,它確實是PingFederate專有的,旨在讓自定義應用程序與其橋接。 SAML協議端點(此處記錄:https://documentation.pingidentity.com/pingfederate/pf84/index.shtml#concept_viewingProtocolEndpoints.html)是標準協議,並且會顯示迴應RelayState。 –

+1

Scott的說法正確 - 你說的是應用程序端點,而不是協議端點。 PingFederate已經並且一直遵循協議多年。 –

+0

感謝您的寶貴意見。我會研究它並相應地更新線程 – Vish

0

你正在使用什麼版本的PingFederate?

由於您從SP獲得中繼狀態,因此您應該看到發佈到您的PingFed端點的AuthNRequest。

您可以使用帶有SSO-Tracer或SAML-Tracer的Firefox來驗​​證您是否獲得發佈到Ping的中繼狀態並查看返回的響應。