Files
compras/docs/mfa-adesao.md
T
nala 63d20b10fc
tests / ci (push) Canceled after 0s
commit de armazens
2026-11-04 09:40:26 +02:00

5.4 KiB

Adesão voluntária MFA no SGC

03/11/2026. Código preparado e validado em bases descartáveis; piloto permanece com a funcionalidade desligada. Posteriormente autorizada e instalada exclusivamente a estrutura de três campos vazios,com backup/restauro114tabelas e preservação das12contas;prova mfa-pilot-schema-installation.json. Não há inscrição automática, MFA obrigatório por perfil ou mudança de competências. Referências de preparação abaixo preservam a sequência histórica; a pendência actual é activação/recuperação autorizada, não repetir a migração.

Percurso implementado

Quando a capacidade estiver deliberadamente activa, Segurança da conta exige confirmação recente da palavra-passe pelo middleware nativo. A própria pessoa inicia a adesão, introduz a chave manual na sua aplicação autenticadora e confirma um código válido. Uma preparação ainda não confirmada não activa o desafio no login. Reabrir a página permite retomar ou cancelar a preparação, sem a modificar apenas por consulta.

Depois da confirmação, a interface mostra os códigos de recuperação pedidos nesse acto. Pode voltar a consultá-los, ocultá-los, renová-los ou desactivar o segundo factor. Renovação e desactivação têm confirmação explícita na interface; os endpoints exigem novamente uma palavra-passe recente quando a sessão expira. A renovação invalida os códigos antigos. As operações usam o utilizador autenticado pelo Fortify, sem aceitar outro titular por parâmetro.

As chaves e os códigos não entram nas propriedades Inertia ou no seu estado recordado. Ficam apenas no componente montado quando consultados, sem gravação deliberada em armazenamento do navegador. Respostas nativas MFA têm private, no-store; códigos de autenticação/recuperação são retirados dos dados de formulário conservados após erros. O cliente usa o cookie XSRF cifrado no cabeçalho e os mecanismos nativos de sessão e CSRF. A chave é introduzida manualmente; esta interface não inclui leitura de QR.

Estado de activação

SGC_TWO_FACTOR_ENABLED está documentado no exemplo de configuração com valor false. Se activado numa instalação preparada, regista a funcionalidade Fortify com confirmação do autenticador e confirmação de palavra-passe. Isto disponibiliza adesão voluntária; não impõe MFA a todos os utilizadores nem define uma política empresarial obrigatória.

A instalação exige previamente a migração 2026_11_03_000001_add_two_factor_columns_to_users, a conferência da composição/configuração e o procedimento autorizado de salvaguarda/recuperação e caches. Nenhum desses passos foi aplicado ao piloto por esta entrega. Não alterar a chave de cifragem da aplicação para activar MFA. Desligar globalmente a capacidade também altera o percurso de autenticação; não serve como recuperação individual improvisada.

Antes de propor activação no destino, preparar a operação concreta com estado da instalação e cópia de recuperação verificáveis, confirmar a identidade responsável pelo ensaio e testar a recuperação autorizada. A obrigatoriedade por perfil, eventual recuperação administrativa, concorrência de códigos de recuperação, revisão visual/acessibilidade e aceitação comercial continuam com cobertura própria pendente. O ensaio sequencial de recuperação não certifica reutilização concorrente.

Evidências

proofs/mfa-management.json e variantes -pg/-http registam os resultados finais. A regressão inclui os cenários anteriores de desafio TOTP/recuperação e os novos de adesão, consulta sem mutação, renovação, desactivação, isolamento do titular, palavra-passe expirada, privacidade e CSRF com validação efectivamente ligada no teste. O piloto foi consultado apenas com a capacidade desligada: não foram feitas adesões, trocas de palavra-passe, migrações ou grants.

Esta entrega não altera decisões, alçadas, reservas, stock ou aprovação de compras. A autenticação confirma a identidade; as competências continuam nos motores existentes.

S1 — integração com a avaliação local

Foi corrigida a fronteira entre MFA e os atalhos sintéticos: quando a capacidade MFA está activa, middleware SGC impede entrada/troca de perfis por /avaliar e /demo, não executa autoentrada do proprietário e deixa a autenticação normal responder. A navegação pública de desenvolvimento também não substitui a autenticação nesse modo. A protecção abrange as rotas web de demonstração registadas pelo alojamento, sem modificar o código SGF. Com a capacidade desligada, o piloto conserva o comportamento actual.

Regressão final36testes/230verificações de navegação,avaliação,desafio e gestãoMFA;PostgreSQL descartável8testes/61verificações. CoberturaHTTP das entradas sem palavra-passe e do desafio nativo comCSRF;preservação da identidade já autenticada também verificada directamente no middleware. PHPStan,Pint,diff e18hashes aprovados. Sem frontend novo,compilação ou revisão visual. Provas mfa-evaluation-boundary[-pg].json.

Preparada proposta-instalacao-mfa-piloto.md e prova mfa-pilot-schema-preparation.json:backup restaurado,114tabelas conferidas e migração ensaiada só na cópia descartável,sem inscrever contas. A instalação real dos três campos continua pendente de autorização. Activação futura depende de acesso por palavra-passe e recuperação preparados,sem desligar MFA globalmente como solução de recuperação individual.