Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
oAuth ASP.NET成员资格提供程序_Asp.net_Asp.net Mvc_Openid_Oauth - Fatal编程技术网

oAuth ASP.NET成员资格提供程序

oAuth ASP.NET成员资格提供程序,asp.net,asp.net-mvc,openid,oauth,Asp.net,Asp.net Mvc,Openid,Oauth,对于实现使用oAuth的自定义成员资格提供程序,是否有任何推荐的资源?目标是让用户使用现有的oAuth凭据登录到我的ASP.NET MVC应用程序。用户通过身份验证后,我想利用内置的ASP.NET授权功能 谢谢。我想你可能在找。我还没有用过它,所以我不能肯定地告诉你它是否包含会员资格提供者,但我希望它会。如果不是的话,它是开源的,所以不管怎么说,它都可以帮助您完成所要做的事情。我不确定您要找的是OAuth OAuth用于通过使用令牌来授权。根据您所做的工作,您有两种情况: 您的应用程序希望使用一

对于实现使用oAuth的自定义成员资格提供程序,是否有任何推荐的资源?目标是让用户使用现有的oAuth凭据登录到我的ASP.NET MVC应用程序。用户通过身份验证后,我想利用内置的ASP.NET授权功能


谢谢。

我想你可能在找。我还没有用过它,所以我不能肯定地告诉你它是否包含会员资格提供者,但我希望它会。如果不是的话,它是开源的,所以不管怎么说,它都可以帮助您完成所要做的事情。

我不确定您要找的是OAuth

OAuth用于通过使用令牌来授权。根据您所做的工作,您有两种情况:

  • 您的应用程序希望使用一些由提供商(如twitter或谷歌)托管的用户数据。在这种情况下,您的应用程序将是消费者——简言之,用户需要登录并同意授权您的应用程序访问其提供商上的数据,并且您将获得一个访问令牌,该令牌可用于访问这些受保护的资源
  • 或者,您有一个应用程序,用户具有登录等功能,您希望向第三方应用程序(消费者)提供(即您是提供商)对用户某些受限信息的访问权限,而不向这些服务公开您的用户凭据
  • 有关OAuth的更多信息,请查看。目前有3种OAuth实现可用于.Net

    由于OAuth的工作方式,我真的无法想象你怎么会有一个“OAuth”成员资格提供者-它实际上是为了保护API的安全,并且通常的目标是在更细粒度的级别上委托授权,即让消费者应用程序只访问用户的地址簿数据,而不让他们访问电子邮件档案,他们的日历等-这与基于成员/角色的安全模型不太匹配


    我猜你真正想要的是OpenId,也就是你用Stackoverflow本身验证自己的方式。我建议阅读Stackoverflow,也许是目前项目中最好的.Net OpenId实现(正式名称为DotNetOpenId,该项目的google代码站点).

    您应该看看asp.net的默认项目模板,它演示了使用OAUth登录,然后扩展通用提供程序(webforms模板,但您可以对mvc执行相同的操作)来执行角色等。

    自从您发布此问题以来,库已经走过了漫长的道路。。。我已经开始为Oauth使用这个库-它已经实现了Facebook、Twitter、PayPal和Google+集成:

    另外,如果向后兼容性不是你的问题,微软已经开始支持流行的OAuth提供商。。。见本文:


    这里可以找到DotNetOpenAuth的评论:@Bitercoder我想你用这个答案让人不快。虽然大多数人都在使用OAutht来授权第三方API,但是考虑到例如谷歌应用程序域的SSO自定义成员ASP.NET解决方案是不合理的,其中授权令牌被用作ASP.NET认证(Cookie)令牌,以便它可以用于随后的谷歌API的回调。我的MVC应用程序正是在我的google apps.domain中调用API的。oAuth既是身份验证又是授权。这个响应是在oAuth 2以当前形式存在之前创建的(3年多以前!)-我想说在当时它是正确的。这些天,我认为世界已经翻转了,大多数人都不知道OpenID,认为OAutht是一种身份验证机制,并且不一定知道OAutho(委派认证/确保API访问的方式)背后的许多核心思想。。我还想指出,这些天来,这些建议通常是无关紧要的,因为微软为ASP.Net的v4.5提供了对OAuth和OpenID的“机箱中”支持——正如他们的spiel所说,“OAuth和OpenID允许您创建允许用户使用其他网站的凭据登录的网站,包括谷歌、雅虎、Facebook、Twitter和Windows Live。”-我觉得这破坏了/很难传达这样的信息:以这种方式使用OAuth只是OAuth的一小部分。。。虽然在某些情况下非常有用:)