/**
  * Send email
  *
  * @param PasswordRecoverEvent $event Event
  */
 public function sendPasswordRecoverEmail(PasswordRecoverEvent $event)
 {
     $customer = $event->getUser();
     $this->sendEmail('password_recover', ['customer' => $customer], $customer->getEmail());
 }
 /**
  * on Password Recover event
  *
  * When a password is recovered, we must always create new token
  * with current user. It means that recover a password always will mean
  * log in the website
  *
  * @param PasswordRecoverEvent $event Password recover event
  */
 public function giveCredentialsWithNewPassword(PasswordRecoverEvent $event)
 {
     $user = $event->getUser();
     $token = new UsernamePasswordToken($user, null, $this->providerKey, $user->getRoles());
     $this->tokenStorage->setToken($token);
 }
 /**
  * Send email.
  *
  * @param PasswordRecoverEvent $event Event
  */
 public function sendEmail(PasswordRecoverEvent $event)
 {
     $this->renderEmail('Password recover email', $event->getUser()->getEmail(), ['user' => $event->getUser()]);
 }