/** * Determines the frontend user, either if it's * already submitted, or by looking up the mail hash code. * * @param NULL|\Evoweb\SfRegister\Domain\Model\FrontendUser $user * @param NULL|string $hash * @return NULL|\Evoweb\SfRegister\Domain\Model\FrontendUser */ protected function determineFrontendUser(\Evoweb\SfRegister\Domain\Model\FrontendUser $user = null, $hash = null) { $frontendUser = null; $requestArguments = $this->request->getArguments(); if ($user !== null && $hash !== null) { $calculatedHash = \TYPO3\CMS\Core\Utility\GeneralUtility::hmac($requestArguments['action'] . '::' . $user->getUid()); if ($hash === $calculatedHash) { $frontendUser = $user; } // @deprecated authCode is still there for backward compatibility } elseif (!empty($requestArguments['authCode'])) { $frontendUser = $this->userRepository->findByMailhash($requestArguments['authCode']); } return $frontendUser; }