2013-01-08 66 views
1

我有一個iOS移動客戶端的Rails應用程序。如何使用Authlogic實現Rails應用程序的API認證

到目前爲止,我已經有iPhone客戶端發送HTTP請求到正常的URL。我想用適當的API替換它。我使用Rails 3,並使用Authlogic進行身份驗證。

我已經觀看了版本化apis上的railscasts和securing APIs。但由於我已經使用authlogic進行身份驗證,我認爲重新實現令牌創建將是不必要的?

我創建了API,就像Ryan Bates在this episode中建議的那樣,在app/controllers/api/v1 /下有一個控制器。我在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端輕鬆使用?哪個選項最容易實現?

任何指導將有所幫助。

回答

0

也許你可以使用authlogic中的單個訪問令牌的東西了?

http://rubydoc.info/gems/authlogic/Authlogic/Session/Params

+0

但我確實需要持久性。一旦用戶登錄到iPhone應用程序一次,他們需要保持登錄狀態。另外,將該令牌放在開放位置並不安全嗎?這是railscasts中的解決方案之一。我不確定使用它。 – Shinigami

+0

我的閱讀是持久的,你只需要每次都通過它。如何確保您的應用程序具有該功能......這取決於您。讓他們登錄,然後設置一個新的令牌,將其用於會話,然後忘記它...我不知道... –

相關問題