iOS、Rails、Devise:如何保持用户登录(会话 vs 认证令牌)

3

我正在尝试使用Rails后端构建iOS应用。我选择了Devise作为用户认证和会话管理系统。

目前,我已经修改了原始的Devise RegistrationsController和SessionsController,使它们返回JSON响应。SessionsController中示例create方法如下:

def create
    build_resource
if resource.save
  if resource.active_for_authentication?
    sign_up(resource_name, resource)
    respond_to do |format|
      format.json { render :json => ["success", resource, User.serialize_into_cookie(resource)]}
    end
  else
    expire_session_data_after_sign_in!
    respond_to do |format|
      format.json { render :json => ["inactive", resource]}
    end
  end
else
  clean_up_passwords resource
  respond_to do |format|
    format.json { render :json => ["error", resource]}
  end
end
end

我想知道在iOS应用程序中持久化登录的最佳方法是什么。
大多数Devise教程只适用于Web应用程序,我不确定如何将它们应用到我的iOS应用程序中。
我使用的框架是“AFNetworking”,用于网络连接的类是“AFHTTPClient”和“AFJSONRequestOperation”。但我不知道如何在客户端上检索和存储会话,以便稍后使用它。
也许我应该使用一个不同的网络框架,使用适当的标头和其他东西来检索会话和cookie?类似ASIHTTPClient这样的东西?
或者我应该使用Devise中的token_authenticatable功能来持久化登录?
1个回答

0
如果您的项目仅是JSON后端,通常建议使用token_authenticatable。 JSON易于处理,且devise可让您快速设置并为您处理所有内容。

1
TokenAuthenticatable 已经从 Devise 中移除,可以在这里查看替代方案。 - davetapley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接