2016-07-26 26 views
0

第一次創建用戶但它不會讓我登錄,即使我在創建客戶後設置了sign_in @user,下次訪問它時確實簽了我。無法保持新用戶使用omniauth登錄

我錯過了什麼嗎?

class CallbacksController < Devise::OmniauthCallbacksController 
    def facebook 
    @user = User.from_omniauth(request.env["omniauth.auth"]) 

    if resource.id.blank? 
     sign_in resource, event: :authentication 
     set_flash_message(:notice, :success, kind: 'Facebook') if is_navigational_format? 
     # Create customer 
     Customer.create(:user_id => resource.id, :name => resource.name, :lastname => resource.lastname) 

     redirect_to new_user_session_path 
    else 
     sign_in resource_name, resource 
     redirect_to profile_path 
    end 
    end 
end 

回答

0

所以我不得不添加

session["warden.user.user.key"][0] = resource.id 

它不是從用戶會話添加ID奇怪的原因。

這對我有用,但我不認爲是這樣做的「方式」。