Dan*_*nny 4 api ruby-on-rails devise omniauth ruby-on-rails-3
我想开始研究我对iPhone应用程序的想法,但是我有一些关于从哪里开始的问题.我希望该应用程序主要用于iPhone,但在Web应用程序上有一些功能,例如登录和查看从iphone应用程序创建的内容.我已经开始使用rails3应用程序,并希望将其用作api/app的后端.
我对如何使用身份验证系统感到困惑,以便此应用程序可以作为Web应用程序和iphone应用程序的api工作.
我想在网络和iphone应用程序上使用omniauth登录,因为我只希望用户使用twitter和/或fb登录,但我不知道如何在用户登录iPhone应用程序后验证请求.我知道像设计这样的其他一些宝石允许像api key authenticatable这样的东西,这使得签名api调用变得更容易,但我认为它太过于使用了auth系统.
任何人都可以给我建议如何制作一个既可以作为webapp使用也可以使用iphone通过api进行身份验证的身份验证系统.
谢谢!
一些想法......
我会假设iOS应用程序的行为类似于Web浏览器,并像正常一样发送持久性cookie以及每个请求.通过这种方式,您可以使用标准身份验证实践,并且可以让自己开放一天发布基于Web的应用程序版本,而无需对所有内容进行大修.
所以工作流程将是:
- 从用户输入获取身份验证信息并安全地保存在钥匙串中,以便在每次打开应用程序时无缝登录
- 使用像Devise这样的东西来进行Rails服务器端身份验证(即不要重新发明轮子)
- 将数据发布到服务器以创建新会话
- 以cookie的形式从服务器接收会话信息
- 将cookie存储在iOS应用程序中
- 每次请求都会将cookie信息发回服务器
- 如果他们退出,则销毁您存储的cookie和钥匙串数据,以便在每次打开应用程序时创建cookie
NSURLConnection提供了一种方法来完成大部分工作,甚至可以发送任何存储的cookie以及请求,只要您不告诉它.这是一篇旧的SO帖子,谈论其中的一些内容:使用Cookie的Objective-C异步Web请求
一些资源可以帮助您:
希望有所帮助!