Authentifiez-vous sans mot de passe : XMPP, 10 ans après
L'authentification HTTP traditionnelle, basée sur des mots de passe, peut s'avérer insuffisante dans certains contextes, notamment lorsque l'on souhaite limiter l'accès à des services pour des utilisateurs externes. Suite à une expérience personnelle avec un outil de suivi de bugs auto-hébergé, l'auteur a revisité cette problématique et a trouvé une solution élégante : l'utilisation de XMPP (Extensible Messaging and Presence Protocol).
Décidant de remonter de 10 ans sur une dépêche précédente, l'auteur a développé une solution personnalisée en Rust, utilisant FastCGI pour la gestion de l'authentification. L'objectif est clair : éliminer la nécessité de créer des comptes utilisateur et de stocker des mots de passe en clair. XMPP permet d'identifier un utilisateur via son JID (Jabber ID), un identifiant unique, sans avoir à utiliser de mot de passe. Cette approche est non seulement plus sécurisée, mais aussi plus flexible et distribuée.
Le code source de cette solution est disponible ici : Linuxfr. L'utilisation de Rust offre un excellent compromis entre performance et sécurité, tandis que FastCGI permet d'intégrer l'authentification XMPP dans un serveur web existant.
Cette approche évite la centralisation de l'authentification, ce qui renforce la sécurité et la résilience du système. Le composant peut être déployé sur un serveur web sans nécessiter d'infrastructure XMPP spécifique, simplifiant ainsi le déploiement et la maintenance. En résumé, l'utilisation de XMPP pour l'authentification représente une alternative intéressante et sécurisée aux méthodes traditionnelles.