Ce tutoriel explique comment implémenter l'authentification multi-facteurs (MFA) basée sur les mots de passe à usage unique temporels (TOTP) dans Symfony 7, sans utiliser de bundles tiers. Il couvre les principes de fonctionnement du TOTP, la création d'un service TOTP personnalisé, la conception de la base de données pour le 2FA, les flux de configuration et de vérification, ainsi que l'application de l'authentification à deux facteurs basée sur les sessions via des abonnés d'événements. Le tutoriel inclut également la génération de codes QR pour une configuration facile et des composants d'interface utilisateur pour la configuration, la vérification et la désactivation du TOTP. Les prérequis incluent un projet Symfony 7.x avec l'authentification déjà configurée, Doctrine ORM et une compréhension de base de la sécurité Symfony.
L'article traite de l'authentification multifacteur (MFA), une méthode cruciale pour sécuriser l'accès à nos données numériques. L'auteur explique que l'authentification repose généralement sur trois catégories : ce que l'on sait (comme un mot de passe), ce que l'on possède (comme un téléphone), et ce que l'on est (comme une empreinte digitale). L'authentification multifacteur combine au moins deux de ces catégories pour renforcer la sécurité. L'article met en lumière les risques associés à l'utilisation de codes envoyés par SMS et recommande plutôt l'utilisation de codes générés par des applications utilisant le standard TOTP (Time-based One-Time Password). Il décrit également le fonctionnement des algorithmes HOTP et TOTP et souligne l'importance de choisir des applications de MFA fiables et bien maintenues. Enfin, l'auteur insiste sur la nécessité de sauvegarder et synchroniser les secrets d'authentification pour éviter de les perdre en cas de vol ou de perte du téléphone.