Laravel 4 Auth con Facebook (sin autenticación de contraseña)

Estoy tratando de configurar un sistema de autenticación con Laravel 4 con un inicio de sesión de Facebook. Estoy usando el paquete madewithlove / laravel-oauth2 para Laravel 4.

Por supuesto, no hay una contraseña para agregar a mi base de datos cuando un usuario inicia sesión con Facebook. Sin embargo, estoy tratando de verificar si una identificación de usuario ya está en la base de datos para determinar si debo crear una nueva entidad, o simplemente iniciar sesión en la actual. Me gustaría usar los comandos Auth para hacer esto. Tengo una mesa llamada "fans".

Esto es con lo que estoy trabajando:

 $fan = Fan::where('fbid', '=', $user['uid']);

                if(is_null($fan)) {

                  $fan = new Fan;

                  $fan->fbid = $user['uid'];
                  $fan->email = $user['email'];
                  $fan->first_name = $user['first_name'];
                  $fan->last_name = $user['last_name'];
                  $fan->gender = $user['gender'];
                  $fan->birthday = $user['birthday'];
                $fan->age = $age;
                $fan->city = $city;
                $fan->state = $state;
                  $fan->image = $user['image'];

                  $fan->save();

                  return Redirect::to('fans/home');

                }

                else {

                  Auth::login($fan);
                  return Redirect::to('fans/home');

               }

Modelo de ventilador:

<?php

class Fan extends Eloquent {
    protected $guarded = array();

    public static $rules = array();
}

Cuando ejecuto esto, me sale el error:

Argument 1 passed to Illuminate\Auth\Guard::login() must be an instance of Illuminate\Auth\UserInterface, instance of Illuminate\Database\Eloquent\Builder given

EDITAR: Cuando uso:$fan = Fan::where('fbid', '=', $user['uid'])->first();

Me sale el error:

Argument 1 passed to Illuminate\Auth\Guard::login() must be an instance of Illuminate\Auth\UserInterface, null given, called in /Applications/MAMP/htdocs/crowdsets/laravel-master/vendor/laravel/framework/src/Illuminate/Auth/Guard.php on line 368 and defined

No sé por qué me está dando este error. ¿Tiene sugerencias sobre cómo puedo hacer que esto funcione? Gracias por tu ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta