对于实现使用OAuth的自定义成员资格提供程序,有什么推荐的资源吗?目标是让用户使用他们现有的OAuth凭据登录到我的ASP.NETMVC应用程序.在对用户进行身份验证之后,我想利用内置的ASP.NET授权功能.

谢谢

推荐答案

我不确定你要找的是OAuth.

OAuth用于通过使用令牌来授权.根据你正在做的事情,你有两种情况:

  1. 您的应用程序希望使用一些由Provider (比如twitter或谷歌)托管的用户数据.在这种情况下,您的应用程序将是消费者——简言之,用户需要登录并同意授权您的应用程序访问其Provider 上的数据,并且您将获得一个访问令牌,该令牌可用于访问这些受保护的资源.
  2. 或者,您有一个应用程序,其中的用户具有登录等功能,并且您希望向第三方应用程序(消费者)提供(即您是Provider )对用户某些受限信息的访问权限,而无需向这些服务公开您的用户凭据.

有关OAuth的更多信息,请查看OAuth.Net website.目前有3种OAuth实现可供 Select .网

由于OAuth的工作方式,我真的无法想象你怎么会有一个"OAuth"成员资格提供者——它真的是为了保护API,通常目标是在更精细的级别上授权,即让消费者应用程序只访问用户的通讯录数据,而不让他们访问邮箱档案,他们的日历等等——这与基于成员/角色的安全模型不太相符.

我猜你真正想要的是OpenID,也就是你用Stackoverflow本身认证自己的方式.我建议阅读Stackoverflow OpenId case study here,目前最好的.Net OpenId实现可能是DotNetOpenAuth项目的一部分(正式名称为DotNetOpenId,它是项目is here的Google代码站点).

Asp.net相关问答推荐

如何在编译时为我的 ASP.NET 项目中的每个控制器生成一个单独的 OpenAPI Swagger.json 文件?

我可以强制刷新我的样式表文件吗?

如何异步渲染局部视图

业务线应用程序:F# 会让我的生活变得轻松吗?

.NET 站点如何隐藏其文件的 .aspx 扩展名?

模型项的类型为 CookMeIndexViewModel,但需要类型为 IEnumerable 的模型项

在 cookie 中存储多个值

Razor 主机工厂错误

如何从 JS 访问 ViewBag

System.Web.MVC 自 MS14-059 以来未复制到 bin 文件夹中.如何防止由于 Windows 更新而创建缺少 DLL 的构建?

使用 ASPNet_Regiis 加密自定义配置部分 - 你能做到吗?

在asp.net mvc 3中实现FilterAttribute,IActionFilter和从ActionFilterAttribute继承有什么区别?

什么是实体框架中的复杂类型以及何时使用它?

您如何在 .net WebApi2 应用程序中的 OAuth2 令牌请求中使用额外参数

如何从 NuGet 安装 EntityFramework 5.0(和其他旧版本)?

如何忽略身份框架的魔力,只使用 OWIN 身份验证中间件来获取我寻求的声明?

MVC 模型布尔显示是或否

如何将代码中的变量调用到aspx页面

中继器中的中继器

Request.UserHostAddress 和 Request.ServerVariables["REMOTE_ADDR"].ToString() 有什么区别