예제 #1
0
 public function validateUser($userName, $password, AuthenticationManager $authenticationManager)
 {
     ResultHelper::whenEqual($password, null, AppLabelUtil::$ERROR_USER_NOT_FOUND, HttpStatusCode::badRequest());
     $user = $this->userService->validateUser($userName, $password);
     ResultHelper::whenEmpty($user, AppLabelUtil::$ERROR_USER_NOT_FOUND, HttpStatusCode::unauthorized());
     $token = Hash::create("sha256", mcrypt_create_iv(64, MCRYPT_DEV_URANDOM), HASH_USER_TOKEN_KEY);
     $authenticationManager->createValidationToken($user->getId(), $user->getRole()->getName(), $token);
     return $this->userMapper->mapUserToDto($user, $token);
 }
 public function checkForResetToken(ResetTokenDto $resetTokenDto)
 {
     ResultHelper::whenEmpty($resetTokenDto->getToken(), AppLabelUtil::$ERROR_RESET_TOKEN_INCOMPLETE, HttpStatusCode::badRequest());
     ResultHelper::whenEmpty($resetTokenDto->getUserName(), AppLabelUtil::$ERROR_RESET_TOKEN_INCOMPLETE, HttpStatusCode::badRequest());
     $user = $this->userService->getUserByUserName($resetTokenDto->getUserName());
     ResultHelper::whenEmpty($user, AppLabelUtil::$ERROR_RESET_TOKEN_INVALID, HttpStatusCode::badRequest());
     $token = $this->restTokenService->getResetTokenByUserId($user->getId(), $resetTokenDto->getToken());
     ResultHelper::whenEmpty($token, AppLabelUtil::$ERROR_RESET_TOKEN_INVALID, HttpStatusCode::unauthorized());
     ResultHelper::whenEqual($token->getPristine(), 0, AppLabelUtil::$ERROR_RESET_TOKEN_USED, HttpStatusCode::unauthorized());
     $this->restTokenService->setResetTokenToContaminated($token);
 }