Cycle de vie
Comment un code OTP est géré par julakAI.
Création
Code généré, hashé, envoyé par SMS
En attente
Valide pendant 5 minutes
Vérifié
Code correct → consommé + verificationToken
Expiré
Délai dépassé → l'utilisateur en redemande un
Verrouillé
3 échecs → bloqué 30 minutes
Paramètres par défaut
Code
4 chiffres
Expiration
5 min
Tentatives
3 max
Verrouillage
30 min
Cooldown
60s
Quota/jour
100 SMS
Protections
Code hashé bcrypt — jamais en clair
Anti-rejeu : timestamp ±300s
Cooldown 60s anti-spam
Verrouillage après 3 échecs
Échec envoi = OTP supprimé, cooldown relâché