attemptLogin($request)) { $request->session()->regenerate(); $this->updateLastLogin($request); return $this->successResponse(); } return $this->errorResponse(); } protected function attemptLogin(Request $request): bool { return Auth::guard()->attempt($request->only('username', 'password')); } protected function updateLastLogin(Request $request): void { if (!$request->session()->exists('last_login')) { $request->session()->put('last_login', now()); } Auth::user()->update([ 'last_login' => now(), ]); } public function logout(Request $request): JsonResponse { Auth::guard()->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return $this->successResponse(); } }