我有一個關於SAML2的基本問題。典型的流程是用戶向受保護的SP請求資源。 SP檢查用戶是否有安全上下文(比如cookie?),如果沒有找到安全上下文,它會構建AuthRequest,然後將瀏覽器重定向到IdP。現在,IdP首先檢查用戶是否具有現有的安全上下文。 IdP如何做到這一點? IdP是否也使用cookie來實現此目的?IdP如何識別用戶是否有安全上下文
回答
是的。對於SAML Web SSO配置文件,會話幾乎總是作爲cookie保存在IDP和SP的瀏覽器中。但是,如何管理這個問題沒有規定。 IDP可以選擇不保持活動會話並提示用戶登錄每個SSO事務。
Ian
@Ian - Great Answer。但是,如果IDP沒有維護會話cookie [黑白瀏覽器和身份提供商(IDP)],那麼您錯失了單點登錄(SSO)的顯着優勢。在以下情況中將描述將丟失的SSO用戶體驗(UX)功能:
0)假設IDP已在Google Apps和Salesforce中註冊。
1)打開瀏覽器。注意:SAML是基於瀏覽器的。您需要一個SAML工作的瀏覽器。
2)嘗試轉到Google Apps; (您沒有現有會話cookie [黑白瀏覽器和Google Apps]),然後他們將您重定向到IDP。
3)您使用有效的IDP憑據登錄。
4)IDP然後在瀏覽器中存儲會話cookie [黑白瀏覽器和IDP]。 (這是@Ian提到的步驟可以被IDP忽略) 5)IDP然後將您重定向到Google Apps(通過HTTP POST),SAML令牌嵌入到POST中。您現在在Google Apps中。 (現在,您的瀏覽器中存儲有會話Cookie [黑白瀏覽器和Google Apps]) 5)嘗試轉到Salesforce。
6)Salesforce看到您沒有活動的會話cookie [黑白瀏覽器和Salesforce],因此他們將您重定向到IDP。
*這是我的加入用戶體驗的點(UX)*
7)IDP將尋找一個會話cookie [B/W瀏覽器和IDP],如果IDP被配置爲不商店維護一個你必須輸入你的單點登錄(SSO)又名IDP證書再次。
關於步驟7的討論:爲每個單獨的服務輸入SSO憑證,額外步驟乘以您正在使用的服務數量。我認爲實施的主要目的是隻輸入一次證書並獲得一切權限(拋開安全問題)。但是,如果IDP沒有存儲會話cookie [黑白瀏覽器和IDP],您仍然只使用一組憑據(而不是每個服務的單獨憑據),因此生活仍然更容易。
@Ajava - 你似乎對cookie的使用方式感到困惑。我希望您可以按照上述步驟更好地瞭解Cookie如何與SAML一起使用。
這裏也是一個很好的鏈接,我發現解釋了cookies:http://lifehacker.com/5461114/fact-and-fiction-the-truth-about-browser-cookies
- 1. 如何識別上傳的文件是否已完全上傳?
- 2. 識別CGContextRef是否爲PDF上下文
- 3. 如何檢查用戶上傳的文件是否安全
- 4. 如何識別Chrome是否顯示安全圖標
- 5. 如何識別ESC是否被按下?
- 6. 如何在子上下文中有彈簧安全上下文
- 7. 在電子郵件鏈接中識別用戶有多安全
- 8. 將NSManagedObjectID從一個上下文用於另一個上下文是否安全?
- 9. 識別UIImageView上是否有圖像
- 10. 如何檢查用戶是否有權利在春季安全?
- 11. 是否在安全模式下運行PHP有什麼區別?
- 12. 如何識別客戶機是否支持PDF文件格式
- 13. 識別限界上下文
- 14. 如何識別PHP是否使用VC6或VC9,並確定其線程安全或非線程安全?
- 15. XAMPP是否安全下載?
- 16. 如何識別是否禁用了Cookie
- 17. 識別用戶是否按下<enter>
- 18. 如何識別某人是否在剪貼板上有某物?
- 19. 如何識別用戶是否正在模擬Symfony2?
- 20. 如何識別用戶是否以RTL或LTR語言輸入?
- 21. 如何識別用戶發送的maild是否正確?
- 22. 識別上傳的PDF是安全的pdf還是普通的pdf文件?
- 23. 安全上下文是資源
- 24. asp如何識別用戶?
- 25. 如何設置Mercurial安全..特別是用戶
- 26. 如何識別表是否具有標識列
- 27. JupyterHub內核是否安全跨用戶?
- 28. 是否安全趕上EXCEPTION_GUARD_PAGE
- 29. 這種每個請求的上下文實現是否安全?
- 30. 將上下文傳遞給多個線程是否安全?
您不需要瀏覽器就可以利用SAML。 WebSSO恰好是最常用的SAML配置文件。您可以使用增強型客戶端或代理(ECP)配置文件從CLI輕鬆使用它。 「...與HTTP一起使用,以及能夠直接聯繫委託人的身份提供者的客戶端,而不需要服務提供者的發現和重定向,就像瀏覽器的情況一樣。「 https://wiki.oasis-open.org/security/SAML2EnhancedClientProfile – 2014-05-13 06:06:16