无法让新用户使用omniauth登录

时间:2016-07-26 23:13:22

标签: ruby-on-rails omniauth

第一次创建用户但它不会让我登录,即使我在创建客户后设置 sign_in @user ,下次访问它时也会登录。

我错过了什么吗?

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

1 个答案:

答案 0 :(得分:0)

所以我不得不添加

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

出于一个奇怪的原因,它没有将用户的ID添加到会话中。

这对我有用,但我不认为是&#34;方式&#34;这样做。