2015-09-02 34 views
2

我正在實現Single Sign Out功能。我的設置是:ASP.NET依賴方< - >依賴方STS < - > SAML2 STS。 SAML2 STS有用戶目錄。我使用ADFS 3.0進行依賴方STS。 ASP.NET依賴方使用WS-Federation協議與依賴方STS通信,而依賴方STS通過SAML2協議與SAML2 STS通信。ADFS 3.0單點登出與依賴方STS

我試圖實現的行爲是Single Sign Out功能。當用戶從ASP.NET應用程序註銷時,ASP.NET應用程序使用FS聯合協議向依賴方STS發送簽出請求。依賴方STS首次使用SAML2協議向SAML2 STS轉發註銷請求。但是,如果用戶立即登錄並重新登出,依賴方不會將登出請求轉發給SAML2 STS。用戶不會將註銷請求轉發到SAML2 STS,而是會看到依賴方STS(ADFS 3.0)的註銷頁面。看起來ADFS 3.0維護了10分鐘的MSISSignoutProtocol cookie,直到該cookie未過期,它不會將簽出請求轉發給SAML2 STS。

我該如何解決這個問題?我希望用戶總是在用戶註銷時通過依賴方STS(ADFS 3.0)重定向到SAML2 STS。是否有可用的配置來覆蓋我在ADFS 3.0上看到的行爲?

+1

嘿!我們正面臨同樣的問題。你能解決嗎? –

+0

你有沒有找到這個解決方案?這也影響到我們。 – David

回答

0

在您的Web應用程序中,註銷URL設置爲?與ADFS 3.0正常工作,它應該是

https://fs.company.com/adfs/ls/idpinitiatedsignon.aspx 

對於ADFS 2.0它使用的是

https://fs.company.com/adfs/ls/?wa=wsignout1.0 

但導致您所描述的行爲:它設置MSISSignOutProtocol的cookie,然後阻止MSISAuth餅乾從被刪除並保持會話激活。