15

我有一个 Rails 应用程序,我使用 devise 对我的用户进行身份验证,效果很好。我现在想编写一个访问相同数据的 iPhone 应用程序(不仅仅是一个 WebUI,而是一个适当的 APP),因此需要相同的身份验证。我该怎么做呢?

我想使用设计登录并保持会话打开,以便来回查询就像在我的网站上一样工作。我对轨道和设计都很陌生。

4

3 回答 3

8

我实际上正在尝试做同样的事情。我还有一个 Rails 应用程序,使用我想为其创建 iPhone 应用程序的Devise Authentication Gem 。我不知道我是否有一个好的答案给你,但这里有一些我在此过程中学到的东西......

根据 Devise GitHub 页面上的自述文件,似乎 Devise 正在使用这两个模块实现 RESTful 身份验证:

数据库可认证:

加密并将密码存储在数据库中,以在登录时验证用户的真实性。身份验证可以通过 POST 请求或 HTTP 基本身份验证来完成。

令牌可验证:

根据身份验证令牌(也称为“单一访问令牌”)登录用户。令牌可以通过查询字符串或 HTTP 基本身份验证给出。

使用 HTTP 基本身份验证,您的 iPhone 应用程序不必针对每个请求重新进行身份验证。您只需验证一次,然后框架会记住它已经过身份验证。

一些可能对您入门有帮助的资源:

于 2010-08-30T23:39:42.900 回答
2

这是一个非常笼统的答案,但您可能想要使用 web 服务,在这种情况下,在设计 api 中公开。

在 iPhone 端,这是一个 Web 服务调用,请参阅 iphone sdk 中“URL 加载系统编程指南”的文档,或者可能是这个答案:使用 REST API 和 iPhone/Objective-C

于 2010-08-03T21:09:39.403 回答
2

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.

于 2011-12-11T22:03:17.077 回答