是否有任何推荐资源用于实施使用 oAuth 的自定义成员资格提供程序?目标是让用户使用他们现有的 oAuth 凭据登录到我的 ASP.NET MVC 应用程序。用户通过身份验证后,我想利用内置的 ASP.NET 授权功能。
谢谢。
是否有任何推荐资源用于实施使用 oAuth 的自定义成员资格提供程序?目标是让用户使用他们现有的 oAuth 凭据登录到我的 ASP.NET MVC 应用程序。用户通过身份验证后,我想利用内置的 ASP.NET 授权功能。
谢谢。
我不确定您要查找的是 OAuth。
OAuth 用于通过使用令牌来委派授权。根据您在做什么,您有两种情况:
有关 OAuth 的更多信息,请查看OAuth.Net 网站。目前有 3 种可用于 .Net 的 OAuth 实现。
由于 OAuth 的工作方式,我真的无法想象您如何拥有“OAuth”成员资格提供程序 - 它确实旨在保护 API,并且通常目标是在更精细的级别委派授权,即授予消费者应用程序访问权限只是一个用户地址簿数据,而不让他们访问电子邮件档案、他们的日历等——这不适合基于成员/角色的安全模型。
我猜你真正要找的是 OpenId,即你用 Stackoverflow 本身验证自己的方式。我建议在这里阅读 Stackoverflow OpenId 案例研究,并且可能是 .Net 的最佳 OpenId 实现目前是DotNetOpenAuth项目的一部分(这被正式称为 DotNetOpenId,该项目的谷歌代码站点在这里)。
我想您可能正在寻找DotNetOpenAuth。我没有使用它,所以我不能确定它是否包括会员提供程序,但我希望它确实如此。如果没有,它是开源的,所以无论如何都应该帮助你做你想做的事情。
你应该看看https://github.com/rustd/ASPNETTemplates它有 asp.net 的默认项目模板,它演示了使用 OAUth 登录然后扩展通用提供程序(webforms 模板,但你可以对 mvc 做同样的事情)做角色等
自从你发布这个问题以来,图书馆已经走过了漫长的道路......我已经开始使用这个图书馆进行 Oauth - 它已经实现了 Facebook、Twitter、PayPal 和 Google+ 集成:
OAuth2 社交登录 - Facebook、Google、Twitter、PayPal - ASP.NET MVC C# 开源库
此外,如果向后兼容性对您来说不是问题,Microsoft 已经开始支持流行的 OAuth 提供程序......请参阅这篇文章: