133 lines
5.8 KiB
Gherkin
133 lines
5.8 KiB
Gherkin
# language: fr
|
|
Fonctionnalité: Authentification à deux facteurs (2FA)
|
|
En tant qu'utilisateur soucieux de sécurité
|
|
Je veux activer la 2FA sur mon compte
|
|
Afin de protéger mon accès même si mon mot de passe est compromis
|
|
|
|
Contexte:
|
|
Étant donné que l'API RoadWave est disponible
|
|
Et que je suis connecté à mon compte
|
|
|
|
Scénario: Activer la 2FA TOTP (Time-based One-Time Password)
|
|
Étant donné que la 2FA n'est pas activée sur mon compte
|
|
Quand je choisis d'activer la 2FA TOTP
|
|
Alors je vois un QR code à scanner
|
|
Et je vois le secret partagé en texte clair (backup)
|
|
Et je dois entrer un code de vérification depuis mon app authenticator
|
|
Quand je saisis un code TOTP valide
|
|
Alors la 2FA TOTP est activée avec succès
|
|
Et je reçois des codes de backup (10 codes)
|
|
|
|
Scénario: Connexion avec 2FA TOTP activée
|
|
Étant donné que la 2FA TOTP est activée sur mon compte
|
|
Quand je me connecte avec email/password
|
|
Alors je suis redirigé vers la page de saisie du code 2FA
|
|
Quand je saisis un code TOTP valide de mon authenticator
|
|
Alors je suis connecté avec succès
|
|
|
|
Scénario: Connexion échouée avec code TOTP invalide
|
|
Étant donné que la 2FA TOTP est activée
|
|
Quand je me connecte avec email/password
|
|
Et que je saisis un code TOTP invalide "000000"
|
|
Alors la connexion échoue
|
|
Et je vois le message "Code d'authentification invalide"
|
|
Et je peux réessayer
|
|
|
|
Scénario: Utiliser un code de backup pour 2FA
|
|
Étant donné que la 2FA TOTP est activée
|
|
Et que j'ai perdu l'accès à mon authenticator
|
|
Quand je me connecte avec email/password
|
|
Et que je clique sur "Utiliser un code de backup"
|
|
Et que je saisis un code de backup valide
|
|
Alors je suis connecté avec succès
|
|
Et le code de backup utilisé est invalidé
|
|
Et il me reste 9 codes de backup
|
|
|
|
Scénario: Activer la 2FA par email
|
|
Étant donné que la 2FA n'est pas activée
|
|
Quand je choisis d'activer la 2FA par email
|
|
Alors la 2FA email est activée immédiatement
|
|
Et je vois le message "2FA email activée. Vous recevrez un code à chaque connexion"
|
|
|
|
Scénario: Connexion avec 2FA email
|
|
Étant donné que la 2FA email est activée
|
|
Quand je me connecte avec email/password
|
|
Alors je reçois un email avec un code à 6 chiffres
|
|
Et le code expire dans 10 minutes
|
|
Et je dois saisir ce code pour terminer la connexion
|
|
|
|
Scénario: Code 2FA email expiré
|
|
Étant donné que la 2FA email est activée
|
|
Et que je me suis connecté avec email/password
|
|
Et que j'ai reçu un code 2FA par email il y a 11 minutes
|
|
Quand je saisis ce code
|
|
Alors la connexion échoue
|
|
Et je vois le message "Code expiré. Demandez un nouveau code."
|
|
|
|
Scénario: Renvoyer le code 2FA email
|
|
Étant donné que la 2FA email est activée
|
|
Et que je suis sur la page de saisie du code 2FA
|
|
Quand je clique sur "Renvoyer le code"
|
|
Alors je reçois un nouveau code par email
|
|
Et l'ancien code est invalidé
|
|
|
|
Scénario: Ajouter un appareil de confiance (skip 2FA pendant 30 jours)
|
|
Étant donné que la 2FA TOTP est activée
|
|
Quand je me connecte avec email/password et code TOTP
|
|
Et que je coche "Ne plus demander sur cet appareil"
|
|
Alors je suis connecté avec succès
|
|
Et cet appareil est enregistré comme "appareil de confiance"
|
|
Quand je me reconnecte dans les 30 jours suivants sur ce même appareil
|
|
Alors je ne dois pas saisir de code 2FA
|
|
|
|
Scénario: Appareil de confiance expire après 30 jours
|
|
Étant donné que j'ai enregistré un appareil de confiance il y a 31 jours
|
|
Quand je me connecte depuis cet appareil
|
|
Alors je dois saisir un code 2FA
|
|
Et je vois le message "Appareil de confiance expiré. Veuillez vous authentifier"
|
|
|
|
Scénario: Voir la liste des appareils de confiance
|
|
Étant donné que j'ai enregistré 3 appareils de confiance
|
|
Quand je consulte mes paramètres de sécurité
|
|
Alors je vois la liste de mes 3 appareils de confiance avec:
|
|
| information | exemple |
|
|
| Nom | iPhone 13 - Safari |
|
|
| Date ajout | 15 janvier 2026 |
|
|
| Dernière vue | Il y a 2 heures |
|
|
| Expire le | 14 février 2026 |
|
|
|
|
Scénario: Révoquer un appareil de confiance
|
|
Étant donné que j'ai un iPhone enregistré comme appareil de confiance
|
|
Quand je révoque cet appareil depuis les paramètres
|
|
Alors l'appareil est supprimé de la liste
|
|
Quand je me reconnecte depuis cet iPhone
|
|
Alors je dois saisir un code 2FA
|
|
|
|
Scénario: Révoquer tous les appareils de confiance
|
|
Étant donné que j'ai 5 appareils de confiance enregistrés
|
|
Quand je clique sur "Révoquer tous les appareils de confiance"
|
|
Alors tous les appareils sont révoqués
|
|
Et je vois le message "Tous les appareils de confiance ont été révoqués"
|
|
|
|
Scénario: 2FA forcée pour connexion suspecte malgré appareil de confiance
|
|
Étant donné que j'ai un appareil de confiance enregistré en France
|
|
Et que je me connecte depuis ce même appareil mais avec une IP américaine
|
|
Quand je tente de me connecter
|
|
Alors la 2FA est requise malgré l'appareil de confiance
|
|
Et je vois le message "Connexion suspecte détectée. Authentification requise."
|
|
|
|
Scénario: Désactiver la 2FA
|
|
Étant donné que la 2FA TOTP est activée
|
|
Quand je désactive la 2FA depuis mes paramètres
|
|
Et que je confirme avec mon mot de passe
|
|
Alors la 2FA est désactivée
|
|
Et tous les codes de backup sont invalidés
|
|
Et tous les appareils de confiance sont révoqués
|
|
|
|
Scénario: Régénérer les codes de backup
|
|
Étant donné que la 2FA est activée
|
|
Et que j'ai utilisé 8 codes de backup sur 10
|
|
Quand je demande à régénérer les codes de backup
|
|
Alors je reçois 10 nouveaux codes
|
|
Et tous les anciens codes (utilisés ou non) sont invalidés
|