2010-10-25 67 views
1

我的任務是在ASP.NET中爲SAML v2.0編寫一個SP(服務提供者),我想知道以下內容;SAML:服務提供商之間的通信?

如果用戶在服務的主SP上登錄(我的SP可以作爲錨/鏈接訪問,除非以前是書籤的),然後請求訪問我的SP,我應該如何處理他們的登錄?

他們已經登錄並獲得了主SP上IdP的授權,但該SP如何告訴我的SP該用戶已登錄? 我是否必須向IdP發送一個新的授權請求,以確定用戶是否已登錄,或者是否應該將其作爲發佈數據/重定向傳遞給SP中的查詢字符串?

我讀過technical overview以及basics,但他們不包括這部分。

我會聯繫主要的SP並詢問如何進行,但我想先介紹我的基礎,看看是否有標準的方法來處理這種情況。

回答

2

最簡單的做法是讓「主要SP」構建鏈接,以便啓動IDP-Init SSO以便用戶登錄到您的應用程序。因此,用戶會從IDP(客戶)向您的SP顯示新的斷言。

您也可以讓他們直接鏈接到您的站點,爲給定的身份提供商/客戶調用SP-Init SSO。

無論採用哪種方式,您都需要爲SAML 2.0處理多個用例和選項。如果您想查看由Ping Identity提供的SaaS合作伙伴計劃,您可以在短時間內完成此項任務。 www.pingidentity.com

讓我知道,如果你想在我們所看到的其他

+0

我認爲我們必須得到第二個選項。感謝您的澄清,並提供! – Zolomon 2010-10-25 16:52:56

1

爲了做SP發起的SSO,您可能需要更多信息的那裏只有一個身份提供者您可能需要發送身份驗證請求,或者您需要一些方法來爲特定用戶確定正確的身份提供程序 - 用戶需要提供一些IdP身份信息(例如,當您想使用StackOverflow登錄時您的Google或其他ID),或者URL中可能包含某些內容。 (對於我工作的應用程序,不同的客戶端有自己的網站域名,所以IdPs被映射到那些域名上。)

所以,是的,如果你要去SP發起的路線,你需要向IdP發送認證請求以確定用戶是誰,並且您將希望使用RelayState將其恢復到最初請求的頁面。如果他們已經通過IdP認證,那麼很可能這種交換將會發生,而不需要用戶提供任何輸入。

相關問題