Autenticação 0.6.0: login flexível com 2FA sob demanda
Publicado em 3 de novembro de 2025
Responsável: Pablo Yuri
Habilitamos signin com e sem segundo fator, mantendo o back-end seguro via Argon2, tokens curtos e orquestração por eventos.
LoginSegurançaTwo-Factor
Visão geral
Levei o Auth à versão 0.6.0 com login flexível: o mesmo endpoint aceita contas com segundo fator necessário ou dispensado, respeitando a configuração de cada usuário e tenant. A orquestração continua via NATS, garantindo respostas rápidas para o Space Status e para os mailers.
Login sem 2FA
- Autenticação tradicional com validação forte de senha e tokens curtos de acesso/renovação.
- O refresh token agora nasce pronto para ser guardado de forma segura, reduzindo o impacto de vazamentos.
- Experiência final: quem não precisa de segundo fator recebe imediatamente os dois tokens e segue para os serviços internos.
Login com 2FA
- Usuários marcados com dois fatores recebem um código temporário por e-mail e enxergam o estado
twoFactorRequiredna resposta. - O código tem validade curta, substitui qualquer solicitação anterior e impede reuso após confirmação.
- Finalizado o código, o mesmo par de tokens é emitido, preservando o fluxo já conhecido pelo front-end.
Complexidade do serviço
- Toda a jornada continua multi-tenant: cada tenant isola banco, códigos e refresh tokens, mas reaproveita a mesma infraestrutura.
- A troca com NATS e os mailers garante que os códigos cheguem rápido sem acoplar o back-end ao provedor de e-mail.
- O tratamento de erros permanece padronizado (401 para credenciais ou código inválidos, 500 para incidentes), facilitando monitoramento e retry automáticos.