我正在使用twitter的gem。在回調中,檢查用戶是否存在並創建他或將他發回主頁。
我可能會做錯某事,但在我的回調代碼中,request.env ['omniauth.origin']的零無效。Omniauth - Origin is nil
我的代碼非常簡單:
whatever.html.erb
<%= link_to image_tag("twitter-connect.png"), "/auth/twitter" %>
的routes.rb
match "/auth/:provider/callback" => "sessions#create"
sessions_controller.rb
def create
auth = request.env["omniauth.auth"]
user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)
if !user.email
redirect_to confirm_path, :notice => "Add your email!"
else
redirect_to request.env['omniauth.origin'] || root_url, :notice => "Signed in!"
end
end
如果我提出request.env ['omniauth.origin']在回調後,我得到一個零對象。
感謝您的幫助!
您正在使用哪個版本的omniauth? – 2011-04-26 16:23:08
我問,因爲,我認爲新版本的omniauth存在與此相關的問題。 – 2011-04-26 16:34:49
HI Aditya。我剛剛在0.2.4上更新了最新版本。 – Laurent 2011-04-26 17:34:02