setCookieJar($this->app['cookie']); } if (method_exists($guard, 'setDispatcher')) { $guard->setDispatcher($this->app['events']); } if (method_exists($guard, 'setRequest')) { $guard->setRequest($this->app->refresh('request', $guard, 'setRequest')); } return $guard; } /** * Call a custom driver creator. * * @param string $driver * @return \Illuminate\Contracts\Auth\Guard */ protected function callCustomCreator($driver) { $custom = parent::callCustomCreator($driver); if ($custom instanceof GuardContract) { return $custom; } return new Guard($custom, $this->app['session.store']); } /** * Create an instance of the database driver. * * @return \Illuminate\Auth\Guard */ public function createDatabaseDriver() { $provider = $this->createDatabaseProvider(); return new Guard($provider, $this->app['session.store']); } /** * Create an instance of the database user provider. * * @return \Illuminate\Auth\DatabaseUserProvider */ protected function createDatabaseProvider() { $connection = $this->app['db']->connection(); // When using the basic database user provider, we need to inject the table we // want to use, since this is not an Eloquent model we will have no way to // know without telling the provider, so we'll inject the config value. $table = $this->app['config']['auth.table']; return new DatabaseUserProvider($connection, $this->app['hash'], $table); } /** * Create an instance of the Eloquent driver. * * @return \Illuminate\Auth\Guard */ public function createEloquentDriver() { $provider = $this->createEloquentProvider(); return new Guard($provider, $this->app['session.store']); } /** * Create an instance of the Eloquent user provider. * * @return \Illuminate\Auth\EloquentUserProvider */ protected function createEloquentProvider() { $model = $this->app['config']['auth.model']; return new EloquentUserProvider($this->app['hash'], $model); } /** * Get the default authentication driver name. * * @return string */ public function getDefaultDriver() { return $this->app['config']['auth.driver']; } /** * Set the default authentication driver name. * * @param string $name * @return void */ public function setDefaultDriver($name) { $this->app['config']['auth.driver'] = $name; } }