0

我正在开发一个需要与 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 将如何工作?我不希望用户必须授予对该应用程序的访问权限。当他们在那里输入登录详细信息时,它应该是自动的。

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

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

PS。对于发布到 Stack Overflow 的任何错误,我们深表歉意。以前没在这里发过!

4

1 回答 1

0

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

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

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

如果您需要,很高兴了解更多详细信息。

于 2012-08-09T04:44:27.723 回答