verifyEmailHelper->generateSignature( $verifyEmailRouteName, $user->id->toRfc4122(), $user->email, ['id' => $user->id], ); $context = $email->getContext(); $context['signedUrl'] = $signatureComponents->getSignedUrl(); $context['expiresAtMessageKey'] = $signatureComponents->getExpirationMessageKey(); $context['expiresAtMessageData'] = $signatureComponents->getExpirationMessageData(); $email->context($context); $this->mailer->send($email); } public function handleEmailConfirmation(Request $request, User $user): void { $this->verifyEmailHelper->validateEmailConfirmationFromRequest($request, $user->id->toRfc4122(), $user->email); $user->isVerified = true; $this->entityManager->persist($user); $this->entityManager->flush(); } }