2015-07-21 114 views
0

我們希望爲我們的所有用戶提供無縫訪問SP的發佈商。 SP是獨立的,爲很多不同的公司提供服務,即我們每個人都有獨立的IdP解決方案。我怎樣才能讓SAML重定向到正確的IdP?

我們希望它能像沒有驗證一樣工作,即用戶在因特網上找到一個鏈接並遵循它。如果網站爲我們的用戶提供特殊服務(我們付費),我們希望他們使用我們自己的IdP(但僅限於我們自己的用戶)對其進行身份驗證。

我們當前的SAML設置要求SP支持IP地址識別和/或使用特定域名,即用戶訪問特定域名或來自我們的IP範圍,以便SP知道要重定向到哪個IdP但是如果我們的用戶來自任何其他IP地址並且不訪問特定的URL,則系統丟失。

這是怎麼解決的?

我認爲每當用戶獲得認證(SP認可的我們的網絡)時,SP給出的cookie都可以解決這個問題,但這是標準嗎?它不是一個真正的解決方案,因爲它要求我們的用戶至少從我們的網絡訪問過它們一次!

+0

您使用哪種SAML服務?它不提供限制IP範圍的任何選項嗎?或者我錯了嗎? – Roshith

+0

我正在使用SimpleSAMLPHP,但沒關係。 :-) 這有點複雜,但重要的是,我的公司和許多其他公司使用相同的SP,例如發佈商,併爲他們能夠找出哪些IdP與他們使用IP地址識別或特定域名。 我會用我們的目標更新我的問題。 –

回答

1

這不是一個SAML問題,因爲它是一個身份提供者發現問題,它不是特定於協議的問題。發佈者應該如何知道/決定通過SAML或任何其他協議將特定用戶重定向到您的IdP?這在一般意義上不是一個易處理的問題。出版商和您需要就這些特殊用戶/服務達成兩個實體(您和這些出版商)之間的合同。

不涉及域或IP範圍的IdP發現的一種可能實現方式是基於用戶身份的IdP動態查找。用戶點擊鏈接,導航至發佈商網站並嘗試登錄(例如)他的身份[email protected]。然後,發佈者可以在他們的特殊用戶/服務/ IdP身份庫中查找mycompany.com,並確定不應該允許該用戶使用本地(發佈者管理的)憑據登錄。相反,應通過SAML身份驗證請求將用戶發送給某個第三方IdP。發佈者可以在用戶登錄時做到這一點,但在用戶有機會輸入發佈者管理的憑證之前,可以通過您最喜愛的AJAX技術或某種其他形式的UI滿足感。

發佈商可以使用持久性cookie,以便下次此用戶訪問此發佈商時,他們會知道此用戶「屬於」第三方IdP並進行相應的重定向。

相關問題