self.from_omniauth

in app/models/user.rb [30:50]


  def self.from_omniauth(auth)
    
    
    user = where(provider: auth.provider, uid: auth.uid).first
    return user if user

    
    user = where(email: auth.info.email).first
    return user if user

    
    create do |user|
      user.provider = auth.provider
      user.uid = auth.uid
      user.email = auth.info.email
      user.password = Devise.friendly_token[0, 20]
      user.firstname = auth.info.first_name
      user.lastname = auth.info.last_name
    end
  end