canAuthenticateUser = $canAuthenticateUser; $this->authenticatesUser = $authenticatesUser; } /** * @param Request $request * @return JsonResponse * @throws ErrorException */ protected function logic(Request $request): JsonResponse { try { $object = new AuthenticationCredentialsObject($request->input('email'), $request->input('password'), $request->input('remember_me')); if($this->canAuthenticateUser->passes($object)){ $token = $this->authenticatesUser->execute($object); // sets session for securing web routes session(['access_token' => $token]); return $this->response(['access_token' => $token]); } } catch (\Exception $exception){ throw new ErrorException($exception->getMessage(), $exception->getCode()); } } }