public static function makeSession($fingerprint) { $session = ValidSession::findSession($fingerprint, false); if (!$session) { $fingerprint['last_active'] = Carbon::now(); $session = ValidSession::create($fingerprint); } return $session; }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle(Request $request, Closure $next) { if (!Auth::check()) { return $next($request); } $fingerprint = ValidSession::generateFingerprint($request); $session = ValidSession::findSession($fingerprint, !$request->is('ajax/archive/stats')); if (!$session) { Auth::logout(); } elseif (!Auth::check()) { $session->delete(); } return $next($request); }
/** * Register any other events for your application. * * @param \Illuminate\Contracts\Events\Dispatcher $events * @return void */ public function boot(DispatcherContract $events) { parent::boot($events); $events->listen('auth.login', function ($user, $remember) { $fingerprint = ValidSession::generateFingerprint(request()); ValidSession::makeSession($fingerprint); }); $events->listen('auth.logout', function ($user) { $fingerprint = ValidSession::generateFingerprint(request()); $session = ValidSession::findSession($fingerprint); if ($session) { $session->delete(); } }); }