Steps:
1- create myGuard.php
class myGuard extends Guard { public function login(Authenticatable $user, $remember = false) { $this->updateSession($user->getAuthIdentifier(), $user->type); if ($remember) { $this->createRememberTokenIfDoesntExist($user); $this->queueRecallerCookie($user); } $this->fireLoginEvent($user, $remember); $this->setUser($user); } protected function updateSession($id, $type = null) { $this->session->set($this->getName(), $id); $this->session->set('type', $type); $this->session->migrate(true); } public function type() { return $this->session->get('type'); } }
2- in AppServiceProvider or a new service provider or routes.php:
public function boot() { Auth::extend( 'customAuth', function ($app) { $model = $app['config']['auth.model']; $provider = new EloquentUserProvider($app['hash'], $model); return new myGuard($provider, App::make('session.store')); } ); }
3- in config / auth.php
'driver' => 'customAuth',
4- now you can use this
Auth::type();
source share