Aficionalgo.fr

Apprendre et enseigner le développement informatique par l'algorithmie.

TD 3 - Authentification

Dans les TDs précédents, on a vu que créer un arbre de décision de zéro pouvait être très compliqué. À partir de maintenant, nous allons construire nos organigrammes de manière itérative, c’est à dire en ajoutant les contraintes les une après les autres.

Exercice 1

Si la combinaison login et mot de passe est bonne l’utilisateur est connecté, sinon l’utilisateur reçoit un message d’erreur

Pour les élèves

Réalisez un arbre de décision pour répondre à la question « Quel message afficher à l'utilisateur ? »

Exercice 2

En cas d’erreur d’authentification, l’utilisateur ne sait pas d’où vient le problème. ​Mauvais identifiant ou mauvais mot de passe ? Il faudrait ajouter deux messages d’erreurs distincts.

Pour les élèves

Réalisez un nouvel arbre de décision qui prend en compte toutes les règles précédentes.

Exercice 3

Pour éviter les petits malin qui veulent essayer de trouver le mot de passe d’un utilisateur, il a été décidé de limiter le nombre de tentative à 10 pour un même identifiant. Ainsi, au bout de 10 mauvais mot de passe, le compte est bloqué pour 24h. L’utilisateur ne peut donc plus se connecter, même avec le bon mot de passe. Un mail lui est envoyé pour le lui signaler. Ce mail contient un lien de déblocage du compte.

Pour les élèves

Réalisez un nouvel arbre de décision qui prend en compte toutes les règles précédentes.

Exercice 4

Certains utilisateurs ont activé l’option “Two Factor Authentication”. Pour ces comptes-là, si l’utilisateur se connecte depuis un ordinateur inconnu, c’est à dire un ordinateur depuis lequel il ne s’est pas encore connecté à notre service, on lui enverra un code de confirmation par SMS. L’utilisateur ne sera pas connecté tant qu’il n’a pas renseigné le code reçu. Cette fonctionnalité est très importante pour se protéger des fuites et des vols de mot de passe.

Pour les élèves

Réalisez un nouvel arbre de décision qui prend en compte toutes les règles précédentes.