DotNetOpenAuth 2,OAuth.net和Microsoft.OWIN.Security.oAuth

时间:2013-12-23 14:25:53

标签: oauth adfs owin openam

我想构建一个独立于任何身份提供程序(如ADFS,OpenAM,oracle身份)的应用程序。我的目的是验证任何一个IDP的登录用户是如何配置来实现我的SSO的。

我不确定DotNetOpenAuth 2,OAuth.net和Microsoft.OWIN.Security.oAuth中哪一个是好的。

请帮助我朝正确的方向前进

非常感谢

2 个答案:

答案 0 :(得分:3)

这些图书馆都不会帮助您使用这些产品。

  • ADFS实施WS-Fed或SAML协议
  • Oracle Identity Federation实施SAML协议
  • OpenAM实现SAML协议

您提到的库实现:

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

解决这一挑战的最佳方法是在您的应用程序和这些身份提供商之间建立中介服务。

有几种选择:

  • 使用Microsoft ADFS作为中介。这需要使用ADFS设置服务器,并且您只支持SAMLP / WS-Fed(Oracle Identity支持)。
  • 使用Microsoft Windows Azure ACS作为中介。这是Windows Azure提供的服务。这只支持与ADFS和一些社交提供商(Google,Facebook和Windows Live)连接,但不支持与Oracle / OpenAM等SAML提供商连接。
  • 使用Auth0之类的服务。这是在Windows Azure存储上作为加载项提供的服务。它支持企业身份提供商(如ADFS或任何SAML协议或Windows Azure AD),社交提供商(Google,Faceobok,Twitter,GitHub,LinkedIn,Windows Live等),甚至可以将其与您自己的数据库连接并处理一种身份验证方案对所有人来说,包括如果有的话,将身份传递给API。

免责声明:我为Auth0工作

希望这有帮助, Matias的

答案 1 :(得分:1)

同意@Matias - 这不是一个小问题。

更好地使用已经存在的东西。

另一个选项可能是Authorization Server。这为ADFS,OpenAM和Oracle Identity提供了完整的OAuth支持和联合功能。