![]() 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/Setup/Patch/Data/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\TwoFactorAuth\Setup\Patch\Data; use Magento\Framework\Encryption\EncryptorInterface; use Magento\Framework\Setup\ModuleDataSetupInterface; use Magento\Framework\Setup\Patch\DataPatchInterface; use Magento\TwoFactorAuth\Model\Provider\Engine\Authy\Service; use Magento\TwoFactorAuth\Model\Provider\Engine\DuoSecurity; /** * Encrypt secrets in configuration */ class EncryptSecrets implements DataPatchInterface { /** * @var ModuleDataSetupInterface */ private $moduleDataSetup; /** * @var EncryptorInterface */ private $encryptor; /** * @param ModuleDataSetupInterface $moduleDataSetup * @param EncryptorInterface $encryptor */ public function __construct( ModuleDataSetupInterface $moduleDataSetup, EncryptorInterface $encryptor ) { $this->moduleDataSetup = $moduleDataSetup; $this->encryptor = $encryptor; } /** * @inheritdoc */ public function apply() { $this->moduleDataSetup->startSetup(); $configTable = $this->moduleDataSetup->getTable('core_config_data'); $connection = $this->moduleDataSetup->getConnection(); $query = $connection->select() ->from($configTable) ->where( 'path in (?)', [ DuoSecurity::XML_PATH_APPLICATION_KEY, DuoSecurity::XML_PATH_SECRET_KEY, Service::XML_PATH_API_KEY, ] ); $configurations = $connection->fetchAll($query); foreach ($configurations as $configuration) { if (preg_match('/[^\x00-\x7F]/', $this->encryptor->decrypt($configuration['value']))) { $connection->update( $configTable, ['value' => $this->encryptor->encrypt($configuration['value'])], $connection->quoteInto('config_id = ?', $configuration['config_id']) ); } } $this->moduleDataSetup->endSetup(); return $this; } /** * @inheritdoc */ public static function getDependencies() { return []; } /** * @inheritdoc */ public function getAliases() { return []; } }