我一直在使用https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview得到Facebook身份驗證工作。我做了它告訴我要做的所有事情,但它仍然不起作用。我有一個Cookie溢出錯誤開始,所以做了一些谷歌搜索後,我在omniauth_callbacks_controller.rb除(「額外」)添加像下面Facebook身份驗證與Devise + OmniAuth-Facebook沒有做任何事情
session["devise.facebook_data"] = request.env["omniauth.auth"].except('extra')
這擺脫了錯誤,但它仍然無法登錄用戶英寸其實,我甚至不認爲它創建用戶(與英雄導軌c檢查)。
它給了我一個URL,其後面附有「sign_up#=」。可能是什麼問題?
user = User.create(name:auth.extra.raw_info.name,
provider:auth.provider,
uid:auth.uid,
email:auth.info.email,
username:auth.info.email,
password:Devise.friendly_token[0,20]
)
我補充說:「用戶名」,因爲我在用戶模型中使用,但我似乎無法想別的,我可能需要編輯/添加。
Rails的3.1.3,紅寶石1.9.3p194(2012-04-20的修訂35410)[x86_64的-darwin11.4.1]
===============快速更新===========================
所以它看起來像我得到了用戶保存 - 我可以在數據庫中看到它。但是,它仍然不會登錄用戶,並且我無法使用該創建的用戶登錄,因爲我只知道用戶名和電子郵件地址,而不知道密碼。總之,我得到了Facebook給我的信息,我能夠將它保存到數據庫,但不能重定向到登錄屏幕。