Guia · OTP e autenticação
Boas práticas para autenticação com SMS OTP
SMS OTP combina duas máquinas de estado: o desafio de autenticação controlado pela aplicação e a mensagem controlada pela infraestrutura de entrega. Misturar as duas produz reenvios, logs sensíveis e decisões incorretas.
Modele o desafio separadamente
O desafio precisa de identificador, expiração, limite de verificações, uso único e invalidação. O message_id referencia a comunicação, não substitui o identificador do desafio.
Proteja o código
Não registre o OTP em logs, analytics, metadados, tickets ou webhooks. Armazene apenas o necessário para validar a resposta durante a janela prevista e descarte o material depois.
Controle abuso e enumeração
Aplique limites por conta, telefone, IP, dispositivo e janela de tempo. Respostas públicas não devem revelar se um cadastro ou telefone existe. Monitore picos e padrões de tentativa sem coletar conteúdo desnecessário.
Trate o resultado inconclusivo
Se o provedor reconheceu a mensagem e o recibo não chegou, não crie outro envio automaticamente. Ofereça uma ação consciente de reenvio após cooldown ou um canal alternativo, sempre invalidando desafios antigos quando necessário.