iOS应用和Web服务器的简单身份验证模型

时间:2016-08-30 18:15:44

标签: ios apache web-services security titanium-mobile

  • 我对API调用有疑问。我有一个iOS应用程序 - 与Web服务器通信
  • 该应用程序进行api调用。这些api的调用主要是使用http和php / js文件/函数)。
  • api调用(php / js)与Web服务器(http)进行通信并执行一些db(mongo)操作以获取适当的内容

我想了解的是,如何在iOS应用中与我的网络服务器硬编码密钥或身份验证模型,以限制与APP和WebServer的通信。

  • 那样 - 有人不直接调用API并介绍 数据库中的垃圾。
  • 只有应用程序(从应用程序下载) store)可以与webserver / api服务器通信。

我知道这可能不是限制服务器和客户端之间通信的最安全方式 - 但我也对其他想法持开放态度。

感谢

4 个答案:

答案 0 :(得分:0)

您可以使用一些基于令牌的授权访问结构,您可以在Web服务器上定义一个密钥,该密钥需要在api调用上传递才能访问。
有关示例,请参阅JSON Web Token

希望有所帮助:)

答案 1 :(得分:0)

可以像这样实现一个非常简单的身份验证方案:

  1. 客户端向服务器发送身份验证请求
  2. 服务器验证身份验证请求并使用会话ID响应客户端
  3. 客户端将会话ID放在其他请求的标头中,服务器每次收到请求时都会对其进行验证。
  4. 请注意,这是一个非常简单的身份验证方案,容易出现不安全因素,但会实现过滤大多数未经过身份验证的请求的目标。我真的建议您阅读文章Session Management Cheat Sheet并遵循其指南以提高此方案的安全性。

答案 2 :(得分:0)

答案 3 :(得分:0)

您可能需要查看有关OAuth and Titanium的官方博客。它遵循有关持久性,身份验证和基于XHR的验证的最佳实践。