2012-10-08 99 views
67

誰能向我解釋什麼之間SP發起的SSOIDP發起SSO是,包括這將是對結合實施單點登錄的更好的解決方案的主要區別ADFS + OpenAM聯邦?差異發起SSO和IDP發起SSO

回答

53

在IDP Init SSO(未經請求的Web SSO)中,聯合進程由IDP發送一個未經請求的SAML響應給SP。在SP-Init中,SP生成一個AuthnRequest,作爲聯合進程的第一步發送給IDP,然後IDP以SAML響應進行響應。恕我直言,ADFSv2支持SAML2.0 Web SSO SP-Init比其IDP-Init支持更強:與第三方Fed產品集成(主要圍繞對RelayState的支持),所以如果您有選擇,您會希望使用SP- Init,因爲使用ADFSv2可能會使生活更輕鬆。

這裏是從的PingFederate 8.0入門指南,你可以通過戳一些簡單的SSO描述可以很好的幫助 - https://documentation.pingidentity.com/pingfederate/pf80/index.shtml#gettingStartedGuide/task/idpInitiatedSsoPOST.html

+0

ok謝謝.... :) – pbhle

57

IDP發起的SSO

從文檔的PingFederate - https://docs.pingidentity.com/bundle/pf_sm_supportedStandards_pf82/page/task/idpInitiatedSsoPOST.html

在這種情況下,用戶登錄到IdP並嘗試訪問遠程SP服務器上的資源。 SAML斷言通過HTTP POST傳送到SP。

加工步驟:

  1. 用戶已登錄到的IdP。
  2. 用戶請求訪問受保護的SP資源。用戶未登錄到SP站點。
  3. (可選)IdP從用戶數據存儲中檢索屬性。
  4. IdP的SSO服務向瀏覽器返回一個包含認證斷言和任何附加屬性的SAML響應的HTML表單。瀏覽器自動將HTML表單發送回SP。

SP發起的SSO

從文檔的PingFederate - http://documentation.pingidentity.com/display/PF610/SP-Initiated+SSO--POST-POST

在這種情況下用戶試圖直接在SP網站訪問受保護資源不被登錄。該用戶在SP網站上沒有帳戶,但確實有由第三方IdP管理的聯合帳戶。 SP向IdP發送認證請求。請求和返回的SAML斷言都通過HTTP POST通過用戶的瀏覽器發送。

處理步驟:

  1. 用戶請求訪問受保護資源的SP。該請求被重定向到聯合服務器以處理認證。
  2. 聯邦服務器使用來自IdP的SAML認證請求向瀏覽器發回HTML表單回瀏覽器。 HTML表單會自動發佈到IdP的SSO服務。
  3. 如果用戶尚未登錄到IdP站點或者需要重新驗證,則IdP會要求輸入憑據(例如,,ID和密碼)和用戶登錄。
  4. 有關用戶的其他信息可以從用戶數據存儲中檢索以包含在SAML響應中。 (這些屬性被預先確定爲IdP和SP之間的聯合協議的一部分)

  5. IdP的SSO服務向瀏覽器返回一個HTML表單,其中包含身份驗證斷言和任何其他屬性的SAML響應。瀏覽器自動將HTML表單發送回SP。 注意: SAML規範要求POST響應進行數字簽名。

  6. (未顯示)如果簽名和斷言有效,SP爲用戶建立一個會話並將瀏覽器重定向到目標資源。

+1

Re SP發起的SSO - 上面的第3點說:「如果用戶還沒有登錄到IdP站點或者需要重新驗證,IdP要求輸入憑證(例如, ID和密碼)並且用戶登錄。「系統如何確定用戶是否登錄到IdP站點?例如,它會生成一個cookie嗎? – Edwardo

+0

@Edwardo你的假設是正確的。當使用IdP建立會話時,IdP通常會生成一個Cookie來維護該會話。 – jekennedy

+0

我有另一個問題http://stackoverflow.com/questions/43861315/how-to-maintain-state-parameter-in-identity-provider-idp-initiated-saml-sso。你可以看看嗎? – kawadhiya21

-4

SP發起的SSO

SP: 「嘿,你知道薩爾?」

國際開發署「?!做我...哦,沒錯呀,我知道薩爾」

SP:「好涼,我會讓她。」

的IdP發起的SSO

國際開發署 「嘿薩爾告訴我,你知道她的」

SP: 「?。我......哦,是我做什麼我都會讓她在」

+17

我不認爲第二次談話是正確的....而是它應該是:IdP:「嘿,這是關於薩爾的一些信息,請讓她進入」/ SP:「好吧,我相信你,我會讓她在「 –

+3

第一次談話也是不正確的:在第一步SP不知道哪些用戶它尚未,只有在IdP用戶將登錄並標識自己爲」薩爾「 – Allie

+1

第一次談話應該是: SP:「嘿,你的身份證在哪裏?」 IdP:「等一下,我會檢查一下,讓我看看你的身份證好吧,哥哥讓她進來,她叫薩爾,她21歲(可選)」SP:「酷哥,你真棒! !」 –