Todo lo que vale la pena saber, nada que no lo sea.
Generar y almacenar de forma segura
Crea un código de 4 a 8 dígitos en el servidor, almacena solo su hash con un tiempo de vida corto (de 5 a 10 minutos) y vincúlalo al usuario y al canal. Nunca envíes el código al cliente para su comparación; verifícalo en el servidor. Consulta /answers/what-is-otp.
Enviar con una alternativa
Envíe el mensaje a través de una ruta directa y de alta prioridad, y configure un canal alternativo (llamada rápida, WhatsApp o voz) para que un SMS retrasado no bloquee al usuario. Consulte /answers/best-channel-for-otp y /answers/sms-fallback-strategy.
Verificar con límites
Comprueba la entrada del usuario con el hash almacenado, limita los intentos antes de forzar un reenvío, invalida el mensaje si tiene éxito y expira rápidamente. Consulta /answers/sms-otp-best-practices.
Limitar la velocidad y monitorizar
Limita las solicitudes por número y por IP para evitar el envío masivo de SMS y vigila los picos de tráfico hacia destinos inusuales. Considera la autenticación de red silenciosa para evitar el envío de códigos facturables. Consulta /answers/what-is-sms-pumping y /answers/what-is-silent-network-auth.