2013-12-23 23 views
3

我想構建一個獨立與任何身份提供者(ADFS,OpenAM,oracle身份)一起工作的應用程序。我的目的是驗證來自IDP的任何配置爲實施我的SSO的登錄用戶。DotNetOpenAuth 2,OAuth.net和Microsoft.OWIN.Security.oAuth

我不確定DotNetOpenAuth 2,OAuth.net和Microsoft.OWIN.Security.oAuth中哪一個好。

請幫我在正確的方向前進

非常感謝

回答

1

與@Matias同意 - 這不是一個簡單的問題。

更好地使用已經存在的東西。

另一個選項可能是Authorization Server。這爲ADFS,OpenAM和Oracle Identity提供了完整的OAuth支持和聯合功能。

3

沒有這些庫將幫助您與這些產品。

  • ADFS實現了WS-美聯儲或SAML協議
  • Oracle身份聯合implementes SAML協議
  • OpenAM實現SAML協議

你提到實施庫:

  • DotNetOpenAuth: OAuth1a和OAuth2或OpenID
  • OAuth.Net:OAuth2
  • Microsoft.OWIN.Security.OAuth:OAuth。

解決此挑戰的最佳方法是在應用程序和這些身份提供程序之間構建中介服務。

有幾個選項:

  • 使用Microsoft ADFS作爲中介。這需要使用ADFS設置服務器,並且您只會支持SAMLP/WS-Fed(Oracle身份證支持)。
  • 使用微軟Windows Azure ACS作爲媒介。這是從Windows Azure提供的服務。這將僅支持與ADFS和一些社交提供商(Google,Facebook和Windows Live)連接,但不支持與Oracle/OpenAM等SAML提供商連接。
  • 使用類似Auth0的服務。這是在Windows Azure商店中作爲附件提供的服務。它支持企業身份提供商(如ADFS或任何SAML協議或Windows Azure AD),社交提供商(谷歌,Faceobok,Twitter,GitHub,LinkedIn,Windows Live等),甚至將其與您自己的數據庫連接並處理一個身份驗證方案對於所有人來說,包括將身份轉移到API(如果有的話)。

聲明:我工作了Auth0

希望這有助於 馬蒂亞斯

+0

我認爲未來是oAuth,現在服務支持oAuth 2.0 ADFS 2012 R2,新版本的OpenAM和oracle以及社交網站都支持oAuth。我只是想支持非社交IDP,所以你提到的中間服務應該是基於web或web API,以及這個服務將包含什麼類型的信息? – user2724058

+0

的確,OAuth2等協議更簡單。但是,由於很多公司採用了SAML,因此SAML將保持強勁。而且,OAuth2是一個具有多種實現的協議(您用於連接Facebook的Oauth2實現方式相同,例如Google不適用)。如果你想支持非社會的國內流離失所者,那麼他們中的大多數將使用SAML。實施這種中介服務並不是微不足道的,這就是爲什麼我建議使用產品/服務。 – woloski

+0

ADFS 2012 R2支持oAuth 2.0,OpenAM和oracle身份新版本也支持oAUth 2.0,而且所有社交網站現在都支持oAuth 2.0。我的觀點是,是否有任何基於完整oAuth 2.0 RFC的API可用,以便我們可以使用它們來支持所有非社交IDP? – user2724058