/** * @param Request $request * @return Data * @Route("/one_time_password/request/", name="user.request_one_time_secret", methods="POST") */ public function requestOneTimeSecret(Request $request) : Data { /** @var UserVO $user */ $userVo = $request->attributes->get('user'); $newToken = (bool) $request->request->get('new'); if (!$userVo->one_time_secret || $newToken) { $secretData = $this->oneTimePassword->generateSecret($userVo); } else { $secretData = $this->oneTimePassword->getData($userVo->one_time_secret); } return $secretData; }