2013-04-02 80 views
0

我正在開發2個Web應用程序,一個是在WordPress上開發的,另一個是在Asp.net MVC上開發的。我們允許FB,Google Id從兩個應用程序登錄。實現單一登錄

在WordPress開發的網站,用戶可以使用FB ID登錄到該網站,並通過點擊鏈接我加載我的asp.net mvc網站在WordPress網站上的Iframe。

由於用戶已經登錄WordPress網站,我希望用戶身份驗證和授權將使用從Wordpress站點傳遞給asp.net站點的一些令牌來完成。 目前我通過加密的網址,並傳遞一些信息。我不確定,這是一種標準/推薦方式。

我認爲有一些標準來解決這個問題。我想知道這一點。

回答

0

SAML(安全斷言標記語言)是一種廣泛採用的技術,用於在兩個不同的域/網站之間啓用單點登錄。更多信息,請致電http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language。社交網站流行的另一種技術是OAUth。更多信息,請致電http://en.wikipedia.org/wiki/Oauth。 FB開發者頁面也有關於OAUth的優秀信息

+0

嗨非常感謝您的快速回復。基本上我想知道如何在.net/Asp.net –

+0

中實施SAML。不幸的是,我的.NET專業知識是有限的。也許谷歌可以幫助?在我的商店中,我們使用第三方產品(ping聯邦)來處理所有與SAML相關的活動。 –

1

WP用戶沒有通過WP的技術認證,而是FB或Google。所有你需要做的就是讓你的ASP.NET MVC應用程序接受FB或Google的身份認證,並且SSO將「正常工作」。您不需要將任何內容從WP傳遞到ASP.NET。

FB和Google的操作方式略有不同,但都支持OAuth(和OpenId)。在.NET應用程序中,您可以使用的一個庫是DotNetOpenAuth(它已經與MVC4一起提供)。或者,您可以依靠第三方服務來處理Google/FB(以及其他人:twitter,linkedin等)的身份驗證。這種第三方服務在技術上被稱爲「聯合提供者」(FP),並在本質上是你的應用程序和其他標識系統之間的經紀人:

WP -+   +-> FB 
     |   |  
.NET -+ --> FP --+-> Google 
... |   | 

app3 -+   +-> Others 

這種模式的好處是,你可以改變身份提供商稍後將不會影響您的應用程序,並且您可以添加應用程序而無需在所有標識提供程序中註冊它們。

其中一項服務是Windows Azure Active Directory,它與FB和Google開箱即用。另一個是Auth0。 (全面披露:這是我工作的地方)。