2011-05-04 142 views
1

我正在构建一个iOS应用程序,它将与一组.NET WebServices进行通信。我试图找到一种方法来确保在WS端发送的调用实际上来自iOS应用程序。iOS - > .NET WebService身份验证问题

当然,有一个“登录”方法需要用户名/密码组合。我想为这个方法添加一个“安全令牌”,我可以用它来验证请求来自iOS应用程序。

由于这是登录方法的参数,因此必须是应用程序和Web服务在发生有效登录之前已知的内容。另外,它应该是另一个应用程序伪造的不可能(困难?)的东西。

他们是否有这种交换的最佳实践/标准方法?我是否以正确的方式思考问题?

在此先感谢!

回答

0

查看oAuth规范(由Twitter使用),它要求首先验证用户,在此过程中交换一系列令牌,然后在后续数据交换期间使用令牌签署数据。

它适用于公钥/私钥匹配的密钥的原则,所以你有一个密钥始终保密。

+0

在这种情况下,没有第三方需要访问某些数据。只有我的iPhone应用程序和web服务。 OAuth仍然是一个有效的解决方案? – 2011-05-04 17:06:06

+0

我不认为oAuth会起作用,因为没有第三方来验证。我想要做的是确保对WS的调用实际上来自我们构建的软件(它位于iPhone上)oAuth似乎没有这样做(除非我错过了某些东西!) – 2011-05-04 23:52:39

+0

仅供参考 - 我决定使用公钥/私钥加密来完成此操作。谢谢! – 2011-06-28 15:51:09