getParsedBody(); $output = [ 'username' => $body['username'], 'success' => false ]; $statusCode = 409; try { $user = $userRepository->fetchByName($body['username']); if (!$user->validate($body['password'])) { throw new EmptyResult("Invalid password"); } $loginService->login($user); $output['token'] = $loginService->getToken(); $output['success'] = true; $statusCode = 200; } catch (EmptyResult $exception) { $this->logger->error($exception, [ 'username' => $body['username'] ]); } return $this->withJson($response, $output, $statusCode); } }