且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

适用于 iOS 的安全 API,无需用户帐户

更新时间:2023-12-03 10:16:34

我最终根据我在网上找到的一些建议(请参阅最后的参考链接)推出了自己的解决方案.

I ended up rolling my own solution based on a few suggestions that I found on the web (see reference links at the end).

  1. iOS 检查它是否有 auth_token.如果否,请继续执行步骤 2,否则继续执行步骤 4.
  2. iOS 通过发送只有我的 iOS 应用和服务器知道如何生成的特殊签名来请求 auth_token.
  3. WEB 验证特殊签名并创建一个唯一的 auth_token,该令牌保存在数据库中并发送回 iOS 应用.
  4. iOS 通过发送 auth_token 和生成的签名(同样只有我的 iOS 和服务器知道如何生成的签名)来请求数据.
  5. WEB 验证 auth_token 是否存在于数据库中.然后它会生成一个 auth_signature 并验证请求是否来自我的 iOS 应用.
  6. WEB 使用数据和新生成的 auth_token 进行响应.
  7. WEB 从数据库中删除以前的 auth_token.
  8. iOS 在本地保存新的 auth_token 并使用数据.
  9. 重复步骤 4-8;如果响应是 401 未授权,则从步骤 1 重新开始.

参考:

@keighl 的这个 GitHub Gist 是我的开始,这是迄今为止我发现的***的例子:https://gist.github.com/4336694

Railscast:保护 API:http://railscasts.com/episodes/352-securing-an-api

Railscast: Securing an API: http://railscasts.com/episodes/352-securing-an-api