我有一个 Rails 应用程序,我使用 devise 对我的用户进行身份验证,效果很好。我现在想编写一个访问相同数据的 iPhone 应用程序(不仅仅是一个 WebUI,而是一个适当的 APP),因此需要相同的身份验证。我该怎么做呢?
我想使用设计登录并保持会话打开,以便来回查询就像在我的网站上一样工作。我对轨道和设计都很陌生。
我有一个 Rails 应用程序,我使用 devise 对我的用户进行身份验证,效果很好。我现在想编写一个访问相同数据的 iPhone 应用程序(不仅仅是一个 WebUI,而是一个适当的 APP),因此需要相同的身份验证。我该怎么做呢?
我想使用设计登录并保持会话打开,以便来回查询就像在我的网站上一样工作。我对轨道和设计都很陌生。
我实际上正在尝试做同样的事情。我还有一个 Rails 应用程序,使用我想为其创建 iPhone 应用程序的Devise Authentication Gem 。我不知道我是否有一个好的答案给你,但这里有一些我在此过程中学到的东西......
根据 Devise GitHub 页面上的自述文件,似乎 Devise 正在使用这两个模块实现 RESTful 身份验证:
数据库可认证:
加密并将密码存储在数据库中,以在登录时验证用户的真实性。身份验证可以通过 POST 请求或 HTTP 基本身份验证来完成。
令牌可验证:
根据身份验证令牌(也称为“单一访问令牌”)登录用户。令牌可以通过查询字符串或 HTTP 基本身份验证给出。
使用 HTTP 基本身份验证,您的 iPhone 应用程序不必针对每个请求重新进行身份验证。您只需验证一次,然后框架会记住它已经过身份验证。
一些可能对您入门有帮助的资源:
这是一个非常笼统的答案,但您可能想要使用 web 服务,在这种情况下,在设计 api 中公开。
在 iPhone 端,这是一个 Web 服务调用,请参阅 iphone sdk 中“URL 加载系统编程指南”的文档,或者可能是这个答案:使用 REST API 和 iPhone/Objective-C
This link answers the question of how to auth an Objective-C app against rails and store the login/password in user defaults for later use:
HTTP authentication between devise and iphone app
Use the method above to add authentication to your Cocoa / Objective-C / Iphone / Mac OS X app against a Ruby On Rails backend.