| | <?php |
| |
|
| | namespace Kanboard\Console; |
| |
|
| | use Symfony\Component\Console\Input\InputArgument; |
| | use Symfony\Component\Console\Input\InputInterface; |
| | use Symfony\Component\Console\Output\OutputInterface; |
| |
|
| | class ResetTwoFactorCommand extends BaseCommand |
| | { |
| | protected function configure() |
| | { |
| | $this |
| | ->setName('user:reset-2fa') |
| | ->setDescription('Remove two-factor authentication for a user') |
| | ->addArgument('username', InputArgument::REQUIRED, 'Username'); |
| | } |
| |
|
| | protected function execute(InputInterface $input, OutputInterface $output): int |
| | { |
| | $username = $input->getArgument('username'); |
| | $userId = $this->userModel->getIdByUsername($username); |
| |
|
| | if (empty($userId)) { |
| | $output->writeln('<error>User not found</error>'); |
| | return 1; |
| | } |
| |
|
| | if (!$this->userModel->update(array('id' => $userId, 'twofactor_activated' => 0, 'twofactor_secret' => ''))) { |
| | $output->writeln('<error>Unable to update user profile</error>'); |
| | return 1; |
| | } |
| |
|
| | $output->writeln('<info>Two-factor authentication disabled</info>'); |
| | return 0; |
| | } |
| | } |
| |
|