簡體   English   中英

SAML重定向

[英]SAML redirection

我們在SAML中遇到了情況。 我們是服務提供商,它是SP發起的。 我們有2個網站-登陸SP網站和實際SP網站。 登陸SP網站只有一個登陸頁面,該頁面將鏈接到實際的SP網站。 要求使登陸SP網站和實際SP網站都可以與一個IDP網站(最自然的方式,一個可以預期)一起工作。 因此,應滿足以下要求。

  1. 如果用戶啟動了登陸SP網站的請求,並說用戶已經通過身份驗證,則當用戶單擊登陸SP網站中到實際SP站點的鏈接時,應該驗證用戶令牌。 我們可以為此進行自定義編碼,但希望限制為SAML協議設置。 請讓我知道如何在SAML設置中完成此操作。 可以在IDP和Actual SP網站上進行哪些配置以實現此目的。

  2. 如果用戶通過登陸SP網站鏈接進入實際SP網站,則在IDP中進行身份驗證后,他會將實際SP網站的URL標記為書簽。 退出(會話退出)然后再次在IDP上登錄后,IDP將如何將用戶直接定向到實際的SP網站(當只有登陸的SP網站在IDP中可以稱為SP時)。 有什么方法可以在IDP上告知第二個IDP URL(實際SP網站)。 我看到元數據中的AsssertionConsumerURL和Audience緊密匹配,可以解決此問題,但是我發現兩者都有問題。 AsssertionConsumerURL僅支持一個url,並且Audience需要條件,在這種情況下您將如何編寫條件。

我運行的聯合系統包含20,000多個SAML IDP和許多相關網站,並與各種身份管理標准委員會合作。

我的回答是假設您正在聯合環境中工作,在該環境中,您將向運行IDP的另一方提供系統的SAML元數據。

為了與擁有多個終結點的IDP進行通信,您需要將兩個AssertionConsumerService URL都包含在實體的SAML元數據中。 請參閱SP中的SAML 2.0-Multiple AssertionConsumerService和第748行http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf

受眾群體需要檢查的東西稍有不同。 為了實現免受各種攻擊的SAML安全,IDP將使用聽眾與要認證用戶的各方進行通信。 有關受眾價值的使用,請參見http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf§4.1.4.2和§4.1.4.3。 https://fusionsecurity.blogspot.com/2011/08/5-minutes-or-less-on-saml-audiences.html似乎很合理。

已啟動SP,表示用戶從SP開始流程。 我將舉一些例子,因為我不確定您對第二個登陸頁面的要求是否完全必要。

https://example.com/上假設一個應用程序。 https://example.com/上的登錄頁面不需要任何身份驗證,並具有“登錄”鏈接。 某些頁面位於https://example.com/catalog/[ID]上 ,未經身份驗證的用戶和經過身份驗證的用戶都可以查看(未經身份驗證時也可以使用“登錄”按鈕)查看。 最后, https://example.com/profile/ [ID]上的頁面只能由經過身份驗證的用戶訪問。

為了進行身份驗證,請定義一個acs https://example.com/acs.html

在這里我要補充一點,我們希望客戶擁有多個IDP-教育機構,醫院和聯邦機構通常會為來自不同來源的用戶提供支持。 我們有“ WAYF”或“您來自哪里?” 如果客戶有多個IDP,則該頁面允許用戶選擇IDP。

“理想”流程從用戶在登錄頁面開始,移動到目錄頁面,最終登錄,然后訪問配置文件。 但是,他們可以為個人資料添加書簽。

當用戶將書簽跟隨到需要身份驗證的頁面時,該代碼向IDP發起SAML請求(如果需要,通過WAYF)並保存狀態,以便當用戶通過成功身份驗證返回ACS時,他們可以返回到個人資料頁面。

§4.1.5中對此進行了討論。 可用性https://kantarainitiative.github.io/SAMLprofiles/saml2int.html#_metadata_and_trust_management

我認為這解決了您的問題,盡管我的示例考慮了同一網站的目標網頁部分。 對於您單獨的網站要求,我還不清楚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM