Configurações do Magento 2

Desativar o 2FA do Magento 2 no ambiente local sem quebrar o admin

Dump de produção restaurado na máquina, você abre o /admin e o Magento pede o código do autenticador. O e-mail com o QR nunca vai chegar, porque o ambiente local não manda e-mail. Resolve na CLI — e só no local: em produção, admin sem dois fatores é convite pra tomarem o painel.

Os dois módulos têm que cair juntos

Do 2.4.6 em diante não basta derrubar o Magento_TwoFactorAuth. A Adobe separou a integração com o Adobe IMS num módulo próprio, o Magento_AdminAdobeImsTwoFactorAuth, que pede magento/module-two-factor-auth no composer.json dele. Desligar só um faz o comando abortar reclamando de dependência. Os dois no mesmo module:disable resolvem:

cd /var/www/loja
bin/magento module:disable Magento_TwoFactorAuth Magento_AdminAdobeImsTwoFactorAuth
bin/magento module:status Magento_TwoFactorAuth
bin/magento cache:flush

Se a cópia está em modo production, o cache:flush não basta — o próprio comando avisa que os arquivos gerados foram limpos e manda rodar o setup:di:compile. Sem isso o admin volta com erro de classe não encontrada. Se o módulo tinha view files, o module:disable ainda aceita a flag –clear-static-content.

A armadilha do app/etc/config.php

module:disable não é configuração de ambiente: ele grava 0 na lista de módulos do app/etc/config.php, arquivo que na maioria dos projetos está versionado no Git. Commitou sem olhar e o próximo deploy leva o dois fatores desligado pra loja de verdade.

O que eu faço aqui é desligar, trabalhar e devolver o arquivo antes de subir qualquer coisa, com um git checkout app/etc/config.php. Se o time inteiro usa a mesma base, vale combinar que esse arquivo nunca entra em commit de tarefa.

Precisa manter o 2FA ligado e só perdeu o segredo de um usuário? O Magento_TwoFactorAuth expõe security:tfa:reset, security:tfa:providers e security:tfa:google:set-secret. Um bin/magento list security mostra o que a sua versão tem — dá pra resetar o provedor de um admin específico sem derrubar o módulo pra todo mundo.

Post Recentes

Exportar dados pessoais no WordPress: atender o pedido LGPD do titular

Recebeu um pedido de acesso aos dados pessoais e o prazo está correndo? Use Ferramentas > Exportar dados pessoais e…

3 horas atrás

Erro 429 na API de IA: backoff exponencial em PHP com retry e usleep

Seu script em lote morre no meio com HTTP 429 Too Many Requests? Leia o header Retry-After e troque o…

2 dias atrás

WooCommerce sem métodos de entrega no checkout: como achar a área errada

O checkout avisa que não existem métodos de entrega disponíveis. Veja a ordem de checagem nas áreas de entrega e…

2 dias atrás

usort PHP: ordenar array de arrays por um campo com o spaceship

Ordene uma lista de produtos por preço em uma linha de PHP 8.3, sem montar colunas separadas pro array_multisort, e…

3 dias atrás

Ativar WP_DEBUG_LOG no WordPress: log de erros sem aparecer na tela

Tela branca ou fatal error no site e o visitante não pode ver a mensagem. Grave os erros do WordPress…

4 dias atrás

CNPJ alfanumérico Magento 2: módulo grátis com máscara e validação

Módulo gratuito Roger_CnpjAlfanumerico que aplica máscara e validação do novo CNPJ alfanumérico no checkout e formulários do Magento 2 e…

3 meses atrás