Por que o teste de redefinição de senha é negligenciado
A maioria dos desenvolvedores testa o fluxo de redefinição uma vez com seu próprio endereço de email e considera concluído. Após a quinta execução de teste, a caixa de entrada está repleta de mensagens idênticas de "Redefina sua senha". Perde-se o controle de qual link pertence a qual execução e, eventualmente, para-se de testar minuciosamente porque se tornou chato. Exatamente esse tipo de complacência deixa bugs graves entrarem em produção.
O que você realmente precisa testar em um fluxo de redefinição
Uma simples verificação "envia um email?" não é suficiente. O OWASP Authentication Cheat Sheet descreve um conjunto abrangente de requisitos:
- Entrega do email — o email de redefinição chega, e rapidamente?
- Correção do link — o link leva à página correta com o token correto?
- Expiração do token — um token expirado é corretamente rejeitado após 25 horas?
- Uso único — o mesmo link de redefinição pode ser usado duas vezes? Não deveria.
- Invalidação ao novo pedido — o primeiro token fica inválido se o usuário solicitar outra redefinição?
- Contas SSO — o que acontece com usuários registrados via OAuth?
- Limitação de taxa — há limite nas solicitações de redefinição por endereço?
A abordagem do email temporário — passo a passo
A solução mais limpa é um endereço de email temporário novo para cada execução de teste. Abra uma caixa de entrada temporária, copie o endereço, registre uma conta de teste no seu aplicativo, acione uma redefinição e observe o email chegar em tempo real. Clique no link, verifique o fluxo completo e confirme que o login funciona. Para outro cenário, simplesmente abra uma nova aba do navegador.
A lista de verificação de segurança do token
Os tokens de redefinição de senha são uma superfície de ataque comum. De acordo com OWASP, uma implementação segura deve:
- Pelo menos 32 caracteres, gerados criptograficamente de forma aleatória
- Expirar em 24 horas, idealmente em 1 hora
- Ser de uso único — invalidado imediatamente após resgate
- Ser invalidado quando uma nova redefinição é solicitada
- Ter limite de taxa por endereço de email
- Nunca ser registrado em texto simples
Inclua a redefinição de senha na sua suite de regressão
A redefinição de senha quebra silenciosamente quando as bibliotecas de autenticação são atualizadas. Adicione pelo menos um teste básico de ponta a ponta: crie programaticamente uma conta de teste, acione uma redefinição, intercepte o email de saída e verifique o token. Verifique a configuração de autenticação do seu domínio com MXToolbox e consulte Troy Hunt para perspectiva sobre brechas de segurança reais.