![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-two-factor-auth/Command/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\TwoFactorAuth\Command; use Magento\Framework\Exception\LocalizedException; use Magento\TwoFactorAuth\Api\ProviderPoolInterface; use Magento\TwoFactorAuth\Api\UserConfigManagerInterface; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Magento\User\Model\UserFactory; use Magento\User\Model\ResourceModel\User; /** * 2FA reset commandline */ class TfaReset extends Command { /** * @var UserConfigManagerInterface */ private $userConfigManager; /** * @var User */ private $userResource; /** * @var UserFactory */ private $userFactory; /** * @var ProviderPoolInterface */ private $providerPool; /** * @param UserConfigManagerInterface $userConfigManager * @param ProviderPoolInterface $providerPool * @param UserFactory $userFactory * @param User $userResource */ public function __construct( UserConfigManagerInterface $userConfigManager, ProviderPoolInterface $providerPool, UserFactory $userFactory, User $userResource ) { parent::__construct(); $this->userConfigManager = $userConfigManager; $this->userResource = $userResource; $this->userFactory = $userFactory; $this->providerPool = $providerPool; } /** * @inheritDoc */ protected function configure() { $this->setName('security:tfa:reset'); $this->setDescription('Reset configuration for one user'); $this->addArgument('user', InputArgument::REQUIRED, __('Username')->render()); $this->addArgument('provider', InputArgument::REQUIRED, __('Provider code')->render()); parent::configure(); } /** * @inheritDoc * * @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((int) $user->getId(), $providerCode); $output->writeln('' . __('Provider %1 has been reset for user %2', $provider->getName(), $userName)); return 0; } }