Files
compras/docs/mfa-adesao.md
T
2026-11-03 11:51:44 +02:00

26 lines
3.7 KiB
Markdown

# 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 e sem a migração MFA aplicada. Não há inscrição automática, MFA obrigatório por perfil ou mudança de competências.
## 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.