我有一位客戶希望使用基於SAML2斷言的方法實現SSO。客戶將是身份提供商(IDP),我的申請將成爲服務提供商(SP)。SAML2 SSO斷言消費者
在過去,我已經實施了IDO是Oracle Access Manager的SSO解決方案,因此我們提供了idp.xml文件,該文件允許我們使用提供的Fedlet配置我們的SP環境。這很方便地創建了一個相關的WAR文件,在部署時允許我將sp.xml文件分發給導入到其IDP中的客戶。這一切工作正常,我理解的概念,即我們收到最初的請求,fedlet處理這個並將用戶帶到他們認證的IDP,然後他們通過SAML響應傳回給我們的SP,Fedlet允許我們解析並提取標識用戶的一些數據。然後我會按照要求將它們簽署到我們的應用程序中。
然而,目前的要求是沒有使用任何後端框架來提供IDP,他們表示它是定製的。他們給了我IDP URL和一個證書文件,並要求我們提供「AssertionConsumerServiceURL」和「AudienceURI」。
我啓用SSO的應用程序主要是基於Java的。迄今爲止,我的調查使我轉向了Forgerock的OpenAM解決方案以及Shibboleth的OpenSAML。然而,我正在爲第一步努力工作,基本上我在哪裏開始構建一個使用OpenAM/Shibboleth/AnotherFramework連接到第三方IDP的自定義SP應用程序。
任何指針都會非常有用。
感謝, 李
嗨Stefan,是的,我也很驚訝他們已經要求這樣做。在我看來,他們已經推出了自己的IDP解決方案,而不是使用現成的IDP解決方案(例如OpenAM等),並且他們的解決方案沒有IDP元數據。因此,我從他們發送的證書中提取了X509證書,並試圖以他們的名義構建IDP元數據。然後我將它導入OpenAM fedlet並部署到Tomcat。他們試圖運行IDP啓動的SSO,但我收到了「發件人的響應無效」,我現在正在嘗試排除故障。 – 2013-02-20 12:04:00
IPD發起的SSO?不是SP發起的?頒發者的問題在於SAML響應中的頒發者必須與您的IDP的entityID相同。 – 2013-02-20 13:19:08
謝謝。我將IDP元數據中的entityID更新爲他們建議的發行人將要發佈的內容,但之後他們改變了它(不讓我知道!)。所以我更新了配置再次匹配,現在我得到「這個服務提供商不是目標受衆」。 SAMLResponse包含saml:Audience元素,據推測這需要在我的配置某處匹配某些內容,只需查看所有內容即可找出內容。 – 2013-02-20 14:12:05