Oauth 保护ASP.NET WebAPI-自定义登录+社交登录

Oauth 保护ASP.NET WebAPI-自定义登录+社交登录,oauth,asp.net-web-api,oauth-2.0,Oauth,Asp.net Web Api,Oauth 2.0,我正在编写一个ASP.NETWebAPI应用程序,我希望通过组合使用自定义登录(如ASP.Net成员资格和社交登录)来保护它,如Google、Facebook、Twitter、LinkedIn,希望还有更多。用户应该能够选择其中任何一个 我的客户端是纯HTML/JSSPA应用程序,为此我需要实现OAuth的隐式授权流 我现在看到的选择是 使用Thinktecture的身份服务器和授权服务器 使用DotNetOpenAuth库 谁能给我指出正确的方向吗?以上哪一个选项适合我 谢谢为什么不遵循MVC

我正在编写一个ASP.NETWebAPI应用程序,我希望通过组合使用自定义登录(如ASP.Net成员资格和社交登录)来保护它,如Google、Facebook、Twitter、LinkedIn,希望还有更多。用户应该能够选择其中任何一个

我的客户端是纯HTML/JSSPA应用程序,为此我需要实现OAuth的隐式授权流

我现在看到的选择是

使用Thinktecture的身份服务器和授权服务器

使用DotNetOpenAuth库

谁能给我指出正确的方向吗?以上哪一个选项适合我


谢谢

为什么不遵循MVC 5 SPA模板中的相同模式,该模板已经完成了您想要做的事情:

它使用ASP.NET标识API的资源所有者密码登录流 支持社交登录Google、Facebook、Twitter、Microsoft帐户 它的客户端使用knockout和纯html/js 它使用隐式授权流将社交登录转换为应用程序访问令牌 该模板使用OWIN安全中间件,可支持:

曲奇认证 承载令牌认证 社交登录验证 OAuth 2.0授权服务器流和扩展授权,您可以自定义它们
您可能需要更好地了解SPA模板中的整个安全故事。

非常好。

不过,快速提问,我是否能够轻松添加更多OpenID提供商,如LinkedIn、Yahoo等?我还没有看完整篇文章。如果此问题已在您的博客和博客中的链接中解决,请道歉。您可以像google auth中间件一样实现自己的OpenID提供程序:。但是,openid提供程序没有基类。这意味着您需要从头开始实现它。