/** * {@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']); }
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.'); }
/** * {@inheritDoc} */ public function changePassword(User $user, $newPassword) { $this->userManager->updatePassword($user, $newPassword); $this->userRepository->updateUser($user); }