我正在开发一个需要与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的任何错误,我们深表歉意。以前没有在这里发布过!
答案 0 :(得分:0)
我不知道杰克关于.net的东西,但我目前正在寻找为我们自己的可信任iOS应用程序实现REST网络服务。
决定让我们的应用程序直接收集用户的用户名/密码。 然后我们实现了一个特殊的端点,它本质上是第一个get_request_token调用(带有所有适当的头/签名/等)。这允许我们验证api_key和app_secret(来自验证签名)。然后,此调用将直接返回access_token。 (跳过常规3条腿流程中的一个步骤)此access_token将绑定到用户并具有常规access_token的所有标准属性。
我想这是一个2腿的oauth的变种,但我觉得它更干净
如果您需要,请尽快了解更多详情。