cookie('sessionKey'); $appSession = AppSession::where('session_key', $sessionKey)->where('is_active', true)->first(); $authenticated = $sessionKey && $appSession; $currentRouteName = $request->route()->getName(); if (!$authenticated) { return redirect()->route('login'); } // - is_two_step_sms_auth_completed if (!$appSession->is_two_step_sms_auth_completed) { if ($currentRouteName != 'confirm_sms_auth_token') { return redirect()->route('confirm_sms_auth_token'); } return $next($request); } // - is_password_temporary if (!!$appSession->pro->is_password_temporary) { if ($currentRouteName != 'set_password') { return redirect()->route('set_password'); } return $next($request); } // - are_security_questions_set if (!$appSession->pro->are_security_questions_set) { if ($currentRouteName != 'set_security_questions') { return redirect()->route('set_security_questions'); } return $next($request); } return $next($request); } }