protected function execute(InputInterface $input, OutputInterface $output) { $login = $input->getArgument('login'); $user = $this->usersManagerApi->getUser($login); if (!UserMapper::isUserLdapUser($user)) { throw new Exception("User '{$login}' is not an LDAP user. To regenerate this user's token_auth, change the user's password."); } if (!$this->userMapper->isRandomTokenAuthGenerationEnabled()) { throw new Exception("Random token_auth generation is disabled in [LoginLdap] config. This means any changes made by this " . "command will be overwritten when the user logs in. Aborting."); } $newPassword = $this->userMapper->generateRandomPassword(); $this->usersManagerApi->updateUser($login, $newPassword, $email = false, $alias = false, $isPasswordHash = true); $user = $this->usersManagerApi->getUser($login); $this->writeSuccessMessage($output, array("token_auth for '{$login}' regenerated successfully, new token_auth = '{$user['token_auth']}'")); }