我有一个带有 iOS 移动客户端的 Rails 应用程序。
到目前为止,我已经让 iPhone 客户端向普通 URL 发送 HTTP 请求。我想用适当的 API 替换它。我在 Rails 3 上,并且正在使用 Authlogic 进行身份验证。
我已经观看了有关版本化 API 和保护 API的 railscasts 。但是由于我已经在使用 authlogic 进行身份验证,我认为重新实现令牌创建是不必要的吗?
正如 Ryan Bates 在本集中建议的那样,我使用 app/controllers/api/v1/ 下的控制器创建了 API。我在views/api/v1 中有与RABL 对应的视图。
我的控制器是
module Api
module V1
class RecordsController < ApplicationController
respond_to :json
def index
status = RecordStatus.where("name = ?", "processed").first
@records = current_user.records.where("record_status_id = ?", status.id)
end
def show
@record = Record.find(params[:id])
end
end
end
end
基本上,我已经阅读了很多关于实现不同选项的内容(包括关于 SO 的一堆答案),我真的很困惑什么是我安全地实现身份验证的最佳方式。我应该去oauth吗?我可以用 authlogic 来做吗?哪个选项可以使其在 iOS 端易于使用?哪个选项最容易实施?
任何指导都会有所帮助。