我有一个Rails应用程序,我使用devise来验证我的用户,这非常有用。我现在想要编写一个访问相同数据的iPhone应用程序(不仅仅是一个WebUI,而是一个合适的APP),因此需要相同的身份验证。我应该怎么做呢?
我想使用设计登录并保持会话打开,以便来回查询在我的网站上工作。我对轨道和设计都很陌生。
答案 0 :(得分:8)
我正在尝试做同样的事情。我还有一个Rails应用程序,使用Devise Authentication Gem我想创建一个iPhone应用程序。我不知道我有没有给你一个好的答案,但这里有一些我在路上学到的东西......
根据Devise GitHub页面上的自述文件,似乎Devise正在使用这两个模块实现RESTful身份验证:
数据库可验证:
在数据库中加密并存储密码 验证一个人的真实性 用户在登录时 身份验证可以完成 通过POST请求或HTTP Basic 认证
Token Authenticatable:
基于身份验证令牌在用户中签名 (也称为“单一访问令牌”)。 令牌可以通过 查询字符串或HTTP Basic 认证
使用HTTP基本身份验证,您的iPhone应用程序无需为每个请求重新进行身份验证。您只需要验证一次,然后框架将记住它已经过验证。
一些可能对您有所帮助的资源:
答案 1 :(得分:2)
这是一个非常一般的答案,但您可能想要使用Web服务,在这种情况下在devise api中公开。
在iPhone方面,这是一个Web服务调用,请参阅iphone sdk中“URL加载系统编程指南”的文档,或者这个答案:Using a REST API and iPhone/Objective-C
答案 2 :(得分:2)
此链接回答了如何针对rails验证Objective-C应用程序的问题,并将登录名/密码存储在用户默认值中供以后使用:
HTTP authentication between devise and iphone app
使用上述方法根据Ruby On Rails后端为Cocoa / Objective-C / Iphone / Mac OS X应用添加身份验证。