【问题标题】:Managing user session with devise on iPhone APP在 iPhone APP 上使用设备管理用户会话
【发布时间】:2011-03-24 22:15:08
【问题描述】:

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

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

【问题讨论】:

  • 有关于这个问题的消息吗?你最后做了什么?
  • 没什么,它是我们项目中为数不多的未解决问题之一。

标签: iphone ruby-on-rails devise


【解决方案1】:

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

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

【讨论】:

  • 感谢 NWCoder 的快速回复。不幸的是,我现在仍然不知道该怎么办。事实上,我什至没有编写 iPhone 应用程序,我的一个同事是,他只是要求我提供一个登录 API,他可以调用该 API 来登录并在后续请求中维持登录会话。你觉得你可以给我更多的细节吗?非常感谢。
【解决方案2】:

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

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

数据库可认证:

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

令牌可认证:

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

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

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

【讨论】:

    【解决方案3】:

    此链接回答了如何针对 Rails 对 Objective-C 应用程序进行身份验证并将登录名/密码存储在用户默认值中以供以后使用的问题:

    HTTP authentication between devise and iphone app

    使用上述方法为您的 Cocoa/Objective-C/Iphone/Mac OS X 应用添加针对 Ruby On Rails 后端的身份验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-28
      • 2015-01-13
      • 1970-01-01
      • 2011-01-05
      • 2011-10-22
      • 2014-08-24
      • 2019-05-25
      • 1970-01-01
      相关资源
      最近更新 更多