MFA/2FA Tecnico
Detalhes tecnicos da implementacao TOTP no QuickClaw.
Visao geral
O QuickClaw implementa autenticacao multifator via TOTP (Time-based One-Time Password), definido pela RFC 6238.
O TOTP gera codigos de 6 digitos que mudam a cada 30 segundos. O codigo e calculado a partir de um segredo compartilhado (registrado no momento da ativacao) e do horario atual. Como ambos os lados (app e servidor) conhecem o segredo e o horario, conseguem gerar o mesmo codigo independentemente.
A implementacao e feita via Supabase Auth MFA, que gerencia todo o ciclo de vida do TOTP: geracao do segredo, verificacao de codigos e gerenciamento de fatores.
Niveis de assurance
O Supabase Auth utiliza o conceito de Authentication Assurance Level (AAL) para determinar o nivel de confianca da sessao do usuario:
| Nivel | Fatores | Acesso |
|---|---|---|
| AAL1 | Email + Senha | Acesso basico (redirecionado para /mfa-verify se MFA ativo) |
| AAL2 | Email + Senha + TOTP | Acesso completo ao dashboard e todas as funcionalidades |
Se o usuario tem MFA ativo, o middleware do Next.js detecta automaticamente que o nivel atual e AAL1 mas o nivel necessario e AAL2, e redireciona para a pagina /mfa-verify.
Fluxo tecnico
O fluxo completo de autenticacao com MFA ativo funciona da seguinte forma:
Login com email e senha
O usuario insere suas credenciais na pagina de login. O Cloudflare Turnstile valida que nao e um agente antes de enviar ao Supabase.
Supabase retorna session com AAL1
O Supabase Auth autentica as credenciais e retorna um token JWT com nivel de assurance aal1. A session inclui informacoes sobre fatores MFA cadastrados.
Middleware detecta que nextLevel = AAL2
O middleware do Next.js verifica os fatores MFA do usuario. Ao detectar que existe um fator TOTP registrado, determina que o nextLevel e aal2 e que o nivel atual e apenas aal1.
Redireciona para /mfa-verify
O middleware redireciona o usuario para a pagina de verificacao MFA. O usuario nao consegue acessar nenhuma pagina do dashboard ate completar esta etapa.
Usuario insere codigo TOTP
O usuario abre o app autenticador no celular, encontra o codigo de 6 digitos do QuickClaw e insere na pagina de verificacao. O codigo muda a cada 30 segundos.
Supabase eleva para AAL2
O Supabase valida o codigo TOTP e, se correto, eleva a session para nível aal2. O token JWT e atualizado com o novo nivel de assurance.
Acesso liberado ao dashboard
Com a session em aal2, o middleware permite o acesso completo. O usuario e redirecionado para o dashboard e pode usar todas as funcionalidades.
Apps compativeis
Qualquer aplicativo que suporte o padrao TOTP (RFC 6238) funciona com o QuickClaw. Os mais populares sao:
- Google Authenticator — Disponivel para Android e iOS. Simples e direto.
- Authy — Android, iOS e Desktop. Oferece backup na nuvem dos codigos.
- Microsoft Authenticator — Android e iOS. Integrado com contas Microsoft.
- 1Password — Gerenciador de senhas com suporte TOTP integrado.
- Bitwarden — Gerenciador de senhas open-source com suporte TOTP.
Recomendacao
Se voce usa um gerenciador de senhas como 1Password ou Bitwarden, recomendamos usar o TOTP integrado dele. Assim voce tem senhas e codigos 2FA no mesmo lugar, com backup automatico.
Recuperacao
Em caso de perda do dispositivo com o app autenticador (troca de celular, formatacao, perda ou roubo), voce nao conseguira gerar o codigo TOTP e, portanto, nao conseguira fazer login.
Para recuperar o acesso a sua conta:
- Entre em contato com suporte@myquickclaw.com
- Informe o email cadastrado na conta
- Passe pelo processo de verificacao de identidade
- Apos verificacao, o MFA sera desativado e voce podera fazer login normalmente
- Recomendamos reativar o MFA imediatamente com o novo dispositivo
Processo de verificacao
A verificacao de identidade e rigorosa para proteger sua conta. O suporte podera solicitar informacoes adicionais para confirmar que voce e o titular da conta. Este processo pode levar ate 48 horas uteis.