Lucia : l’authentification qui vous appartient
Lucia est une bibliothèque d’authentification qui vous donne le contrôle total. Pas de vendor lock-in, pas de magie noire. Vous comprenez et possédez votre système d’auth. Chez Eve Media, nous apprécions cette approche pour les projets où le contrôle compte.
Philosophie de Lucia
Lucia n’est pas un service mais une bibliothèque. Vos données restent dans votre base. Vous contrôlez le flow d’authentification. C’est plus de travail initial mais plus de flexibilité à long terme.
Concepts de base
Lucia gère les sessions. Vous créez une session après avoir vérifié les credentials (que vous gérez vous-même). Le session token est stocké dans un cookie. Lucia valide les sessions à chaque requête.
Adaptateurs de base de données
Lucia supporte PostgreSQL, MySQL, SQLite, MongoDB via des adaptateurs. Le schéma est simple : une table users, une table sessions. Vous pouvez étendre avec vos propres champs.
Pas d’opinion sur les credentials
Lucia ne gère pas les mots de passe ou OAuth directement. Des guides et helpers existent pour chaque méthode. Cette séparation permet de choisir exactement ce dont vous avez besoin.
Password authentication
Pour l’auth par mot de passe, utilisez Argon2 ou bcrypt pour le hashing. Lucia vérifie l’existence de l’utilisateur, vous vérifiez le mot de passe, puis Lucia crée la session.
OAuth integration
Arctic (par les créateurs de Lucia) gère les flows OAuth. Google, GitHub, Discord, etc. sont supportés. Vous récupérez les infos utilisateur et créez la session avec Lucia.
Intégration framework
Des guides existent pour Next.js, SvelteKit, Astro, Express. Chaque framework a ses spécificités pour lire les cookies et valider les sessions. La documentation est excellente.
Email verification et password reset
Les tokens de vérification et reset sont gérés via des tables séparées. Lucia fournit des helpers pour générer et valider ces tokens. Le flow email est votre responsabilité.
Comparaison avec les alternatives
NextAuth/Auth.js est plus opiniaté et rapide à mettre en place. Lucia offre plus de contrôle. Clerk/Auth0 sont des services managés, plus simples mais avec coût et dépendance.
Quand choisir Lucia
Projets où vous voulez comprendre et contrôler l’auth. Besoins custom qui ne rentrent pas dans les solutions packagées. Équipes à l’aise avec implémenter les détails.
Conclusion
Lucia est pour les développeurs qui veulent comprendre leur système d’authentification. C’est un investissement qui paie en flexibilité et en connaissance.
Chez Eve Media, nous choisissons l’approche d’authentification adaptée à chaque projet. Contactez-nous pour sécuriser votre application.



