/** * @param string $email * * @return bool */ public function requestToken($email) { try { $userTransfer = $this->userFacade->getUserByUsername($email); $passwordResetToken = $this->generateToken(); $result = $this->persistResetPassword($passwordResetToken, $userTransfer); $this->sendResetRequest($email, $passwordResetToken); return $result; } catch (UserNotFoundException $exception) { return false; } }
/** * @param string $username * @param string $password * * @return bool */ public function authenticate($username, $password) { $hasUser = $this->userFacade->hasActiveUserByUsername($username); if (!$hasUser) { return false; } $userTransfer = $this->userFacade->getUserByUsername($username); $isValidPassword = $this->userFacade->isValidPassword($password, $userTransfer->getPassword()); if (!$isValidPassword) { return false; } $userTransfer->setLastLogin((new \DateTime())->format(\DateTime::ATOM)); $token = $this->generateToken($userTransfer); $this->registerAuthorizedUser($token, $userTransfer); $this->userFacade->updateUser(clone $userTransfer); $this->session->migrate(); return true; }