2014-01-13 162 views
6

我有一個使用Thinktecture Identity Server的聲明感知MVC網站設置。我現在有要求允許第三方訪問網站的某些部分。向ASP.NET MVC網站發佈SAML令牌

是否可以用身份服務器以編程方式進行身份驗證並將其發佈到網站,以便第三方的用戶不需要手動執行正常的登錄過程?

我以前使用過身份服務器來獲取SAML令牌以進行WCF調用,我想知道是否有可能重新使用這種方法?

由於第三方正在使用基於桌面的Java應用程序,並且內置了用於訪問MVC網站的某些瀏覽器組件,這一複雜情況就出現了。用戶已經使用桌面應用程序進行了身份驗證,因此我們不希望他們再次輸入憑據來查看這些網頁。

回答

1

嗯,艱難的一個以安全的方式解決。基本上我不信任桌面應用程序;-)

您可能正在尋找某種聯合。基本上它是讓你的Identity Server信任第三方(通過簽名)。然後,您的Identity Server將使用來自第三方的SAML令牌作爲登錄信息,並生成新的SAML令牌(由您簽名)轉發給MVC Web應用程序。我認爲Dominick有一個或兩個關於它的視頻,但不確定它是否符合您的要求。看看https://github.com/thinktecture/Thinktecture.IdentityServer.v2/wiki

Java桌面應用程序可能無法創建簽名的SAML令牌,因此您可以考慮使用「別的東西」。最好是從第一次登錄的地方簽名。

您應該避免讓您的Web應用程序信任任何人,而不是您自己的Identity Server/Identity Provider。

希望這會幫助嗎?樂於幫助我可以:-)