userConfigManager = $userConfigManager; $this->userResource = $userResource; $this->userFactory = $userFactory; $this->providerPool = $providerPool; } protected function configure() { $this->setName('msp:security:tfa:reset'); $this->setDescription('Reset configuration for one user'); $this->addArgument('user', InputArgument::REQUIRED, __('Username')); $this->addArgument('provider', InputArgument::REQUIRED, __('Provider code')); parent::configure(); } /** * @SuppressWarnings("PHPMD.UnusedFormalParameter") * @throws LocalizedException */ protected function execute(InputInterface $input, OutputInterface $output) { $userName = $input->getArgument('user'); $providerCode = $input->getArgument('provider'); $user = $this->userFactory->create(); $this->userResource->load($user, $userName, 'username'); if (!$user->getId()) { throw new LocalizedException(__('Unknown user %1', $userName)); } $provider = $this->providerPool->getProviderByCode($providerCode); $this->userConfigManager->resetProviderConfig($user->getId(), $providerCode); $output->writeln('' . __('Provider %1 has been reset for user %2', $provider->getName(), $userName)); } }