【问题标题】:Developing ASP.NET WCF Service that uses oAuth as the authentication provider开发使用 oAuth 作为身份验证提供程序的 ASP.NET WCF 服务
【发布时间】:2012-07-29 12:48:51
【问题描述】:

我正在开发一个需要与 Web 服务器后端通信的 iOS 应用程序。我的目的是使用 ASP.NET WCF 开发 Web 服务。

在 iOS 端,我使用 RESTKit 来访问 Web 服务。

我已经阅读了许多不同的文章,以及关于堆栈溢出的问题,并且努力找到满足我需求的明确答案。我可以想象这是一个很常见的情况,所以我想我会发布一个问题来为我和其他有此问题的人澄清这个问题。

我需要对 iOS 应用和 ASP.NET 服务之间的请求进行身份验证,而 oAuth 似乎是一个不错的选择。起初我开始阅读 oAuth 2 Legged,并通过遵循本教程 - http://www.cleancode.co.nz/blog/523/oauth-dot-net (我遵循本教程中的第二个选项)设法获得了一个有效的实现。

这很好用,但让我无法知道请求代表哪个用户。然后我意识到也许标准的 3 腿 oAuth 适合我。

我偶然发现了 DevDefined.OAuth.WCF 和 DotNetOpenAuth。两者似乎都缺乏全面的文档。

我尝试遵循 DotNetOpenAuth 提供程序示例,但很难理解它是如何工作的。

所以我的问题:

有没有人知道使用 ASP.NET 设置 oAuth 提供程序以及使用 oAuth 保护 WCF Web 服务的一个很好的解释。

我的方法是否正确,oAuth 适合我吗?

当 iOS 应用程序和服务器都由我编写时,oAuth 将如何工作?我不希望用户必须授予对该应用程序的访问权限。当他们在那里输入登录详细信息时应该是自动的。

我真的很感谢任何人可以随时帮助我解决这个问题!几个星期以来,它一直让我发疯。

感谢和最好的问候 马修凯西

附言。很抱歉发布到 Stack Overflow 时出现任何错误。以前没在这里发过!

【问题讨论】:

    标签: asp.net ios wcf rest oauth


    【解决方案1】:

    我不了解 jack 的 .net 内容,但我目前正在考虑为我们自己的受信任 iOS 应用实施 REST Web 服务。

    决定让我们的应用直接收集用户的用户名/密码。 然后我们实现了一个特殊的端点,它本质上是第一个 get_request_token 调用(带有所有适当的标头/签名/等)。这允许我们验证 api_key 和 app_secret(来自验证签名)。然后,此调用将直接返回 access_token。 (跳过常规 3 腿流程中的一个步骤)此 access_token 将与用户绑定,并具有常规 access_token 的所有标准属性。

    我猜它是 2 legged oauth 的变体,但我认为它更干净

    如果您需要,我们很乐意提供更多详细信息。

    【讨论】:

      猜你喜欢
      • 2011-05-01
      • 2014-09-28
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多