
Завдяки розширеній базі даних користувачів вам завжди доведеться докладати додаткових зусиль, щоб покращувати безпеку адмін панелі Magento. Двофакторна автентифікація є одним із тих крихітних кроків безпеки, які вам потрібно зробити, щоб уникнути будь-яких лазівок у безпеці чи витоку даних.
Відповідно, це додатковий рівень безпеки, крім облікових даних і reCAPTCHA, через який проходить кожен користувач, який намагається увійтив адмін панель.
Хоча не рекомендується вимикати 2FA в Magento, є деякі винятки. Ви можете вимкнути її, якщо магазин знаходиться на стадії розробки або тестування.
Тим не менш, вам не потрібно повністю відключати двофакторну аутентифікацію, ви можете зробити це для конкретного користувача. А ми знаємо як.
Щоб вимкнути двофакторну автентифікацію в Magento для певного користувача:
1. Створіть файл etc/di.xml у вашому кастомному модулі:
<?xml version="1.0" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\TwoFactorAuth\Model\TfaSession">
<plugin name="Magento_TwoFactorAuthCustom_Plugin_Magento_TwoFactorAuth_Model_TfaSession" type="Magento\TwoFactorAuthCustom\Plugin\Magento\TwoFactorAuth\Model\TfaSession" sortOrder="10" disabled="false"/>
</type>
</config>
2. Створіть файл плагін Plugin/Magento/TwoFactorAuth/Model/TfaSession.php:
<?php
declare(strict_types=1);
namespace Magento\TwoFactorAuthCustom\Plugin\Magento\TwoFactorAuth\Model;
use Magento\Authorization\Model\UserContextInterface;
class TfaSession
{
private $allowedUserIds = [
30, //some admin user id
11 //some other admin user id
];
public function __construct
(
UserContextInterface $userContext
) {
$this->userContext = $userContext;
} public function afterIsGranted(\Magento\TwoFactorAuth\Model\TfaSession $subject, $result)
{
return (in_array($this->userContext->getUserId(), $this->allowedUserIds)) ? true : $result;
}
}
У цьому прикладі ми вимкнули 2F автентифікацію для користувачів з ідентифікаторами 30 і 11. Тож усе, що вам потрібно зробити, це додати ваші ідентифікатори користувачів у масив $allowedUserIds;.
А ось як має виглядати структура розширення:
Вимкнути двофакторну автентифікацію Magento для конкретного користувача стане в нагоді. Але це не найкраща практика для безпеки Magento. Тож після завершення тестування краще знову ввімкнути їїї.
Ви можете завантажити модуль Magento_TwoFactorAuthCustom тут.