예제 #1
0
 /**
  * {@InheritDoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $password = $input->getArgument('password');
     $salt = $input->getOption('salt');
     $userClass = $input->getOption('userclass');
     $user = null;
     if (null !== $userClass) {
         if (!class_exists($userClass)) {
             $output->writeln('Please provide a valid user class with namespace.');
             $output->writeln('Class "' . $userClass . '" does not exists.');
             return false;
         }
         $user = new $userClass();
     }
     $encoded = $this->userManager->encodePassword($password, $user, $salt);
     $output->writeln('Clear password: '******'User class:     ' . $encoded['user']);
     $output->writeln('Salt used:      ' . $encoded['salt']);
     $output->writeln('Generated hash: ' . $encoded['hash']);
 }
예제 #2
0
 public function testVerifyEmail()
 {
     $userManager = new UserManager($this->encoderFactoryMock, CustomUser::class);
     $user = new User();
     $this->assertFalse($user->getEmailVerified(), 'Email is not verified at beginning.');
     $userManager->initEmailVerification($user);
     $token = $user->getEmailVerificationToken();
     $resultWrong = $userManager->verifyEmail($user, 'wrong-token');
     $this->assertFalse($resultWrong, 'Cannot verify email on wrong token.');
     $this->assertFalse($user->getEmailVerified(), 'Email is not verified after wrong token.');
     $result = $userManager->verifyEmail($user, $token);
     $this->assertTrue($result, 'Returns true on success.');
     $this->assertTrue($user->getEmailVerified(), 'Email is flagged as verified.');
     $this->assertNull($user->getEmailVerificationToken(), 'Token is reset to null after verification.');
 }
예제 #3
0
 /**
  * {@inheritDoc}
  */
 public function changePassword(User $user, $newPassword)
 {
     $this->userManager->updatePassword($user, $newPassword);
     $this->userRepository->updateUser($user);
 }