2012-06-21 83 views
0

我正在爲正在開發的Web應用程序構建一個API,並且我正嘗試使用API​​驗證/登錄的以下代碼在授權上返回false。Ruby on Rails .authentication失敗

在我的API用戶控制器我有:

def login 
    if params[:user] 
    # Find the user by email first 
    @user = User.where(email: params[:user][:email]).first 
    if [email protected] 
     respond_with nil 
    else 
     @auth = @user.authenticate(params[:user][:password]) 
     if @auth 
     respond_with @user 
     else 
     respond_with @auth 
     end 
    end 
    end 
end 

它總是與@auth,這是假的,即使正在提供有效的電子郵件地址和密碼響應。從我的Mongo數據庫中抽取用戶信息沒有任何問題。

我想我只是不清楚什麼.authenticate。根據我觀看的一個railscast.com視頻,應該將用戶密碼摘要與輸入的密碼進行比較。當爲用戶提供有效密碼時,@auth始終爲false。

+0

這是來自railscast#250嗎?如果是這樣,你是否也需要將電子郵件傳遞給驗證功能? –

回答

0

這種方法實際上工作正常,數據庫中的測試數據並不是我認爲的那樣..

相關問題