2012-06-03 77 views
0

我安裝設計& omniauth到認證介紹, 與Facebook登錄後,我創建了一個用戶,併爲用戶Rails的3-設計 - 登錄錯誤使用Facebook登入後

user = User.new :fullname => auth_hash['extra']['raw_info']['name'], 
:email =>auth_hash['extra']['raw_info']['email'], 
:encrypted_password => Devise.friendly_token[0,20] 

密碼,但當我嘗試與我的Facebook用戶登錄(://本地主機:HTTP 3000 /用戶/ sign_in),我有一個錯誤:

BCrypt::Errors::InvalidHash in Devise::SessionsController#create 
invalid hash 

請求

參數:

{"utf8"=>"✓", 
"authenticity_token"=>"/xA0goLirKlI2YWSLSMQk+3a8xDrVmrhqIjhILh0OME=", 
"user"=>{"email"=>"[email protected]", 
"password"=>"[FILTERED]", 
"remember_me"=>"1"}, 
"commit"=>"Sign in"} 

回答

0

默認情況下使用bcrypt的加密密碼算法,所以我的猜測是它有問題試圖手動輸入密碼的加密版本。您是否嘗試過簡單的設置:密碼值,而不是:encrypted_pa​​ssword?如:

user = User.new :fullname => auth_hash['extra']['raw_info']['name'], 
:email =>auth_hash['extra']['raw_info']['email'], 
:password => Devise.friendly_token[0,20] 
+0

是的,我都試過了。 但導軌提出了另一個錯誤: 未知屬性:密碼 – ThanhLongVN

+0

哦,這是我的愚蠢錯誤, 我補充說:database_authenticatable到user.rb模型,並全部解決 – ThanhLongVN

+0

很高興知道,很高興你知道了。 –