Esempio n. 1
0
 /**
  * @param User $user
  * @param bool $notifyUser
  * @return string
  */
 private function requestPasswordResetTokenByUser(User $user, $notifyUser = true)
 {
     $receiver = Receiver::fromUser($user);
     $token = $this->tokenManipulator->createResetPasswordToken($user);
     if ($notifyUser) {
         $url = $this->urlGenerator->generate('login_renew_password', ['token' => $token->getValue()], true);
         $mail = MailRequestPasswordUpdate::create($this->application, $receiver);
         $mail->setLogin($user->getLogin());
         $mail->setButtonUrl($url);
         $mail->setExpiration(new \DateTime('+1 day'));
         $this->mailer->deliver($mail);
     }
     return $token->getValue();
 }
 public function testCreateResetPasswordToken()
 {
     $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
     $token = $manipulator->createResetPasswordToken(self::$DI['user']);
     $this->assertNull($token->getData());
     $this->assertSame(self::$DI['user'], $token->getUser());
     $this->assertSame(TokenManipulator::TYPE_PASSWORD, $token->getType());
     $this->assertDateNear('+1 day', $token->getExpiration());
 }