Authentification simplifiée avec AWS Cognito
Implémentation d'une solution d'authentification flexible avec AWS Cognito pour Wooskill, permettant la connexion en un clic via Google, Apple et Facebook, tout en gérant la migration transparente des utilisateurs existants.

La problématique
Wooskill souhaitait simplifier le processus d'authentification de sa plateforme de formation, tout en résolvant plusieurs défis critiques :
- →La nécessité de s'authentifier avant paiement créait une friction qui réduisait potentiellement les taux de conversion
- →L'absence d'options de connexion rapide via des identités sociales (Google, Apple, Facebook)
- →Le besoin de migrer les utilisateurs existants dont les mots de passe étaient stockés avec un chiffrement sécurisé irréversible
- →La nécessité d'un haut niveau de sécurité compte tenu des flux de paiement impliqués
Tous ces défis devaient être relevés sans perturber l'expérience des utilisateurs existants, tout en améliorant considérablement celle des nouveaux utilisateurs.
La solution
Approche Globale
J'ai conçu et implémenté une solution complète basée sur AWS Cognito, offrant à la fois flexibilité, sécurité et une expérience utilisateur optimisée, tout en assurant une transition en douceur pour la base d'utilisateurs existante.
1Architecture d'authentification unifiée
L'intégration d'AWS Cognito a permis de créer un système d'authentification centralisé offrant :
- Connexion traditionnelle via email/mot de passe
- Connexion en un clic via Google, Apple et Facebook
- Gestion unifiée des identités quelle que soit la méthode d'authentification
2Stratégie de migration intelligente
Pour assurer une transition transparente pour les utilisateurs existants, j'ai développé un mécanisme innovant utilisant les triggers Lambda Cognito :
Détection d'utilisateur pré-existant : Lors d'une tentative de connexion, vérification si l'utilisateur existe dans l'ancien système
Validation du mot de passe : Vérification du mot de passe contre l'ancien système de stockage sécurisé
Migration automatique : En cas de succès, création d'un compte Cognito avec les mêmes identifiants
Expérience transparente : L'utilisateur n'a pas conscience du processus de migration et peut immédiatement utiliser les nouvelles fonctionnalités
3Intégration avec l'écosystème Wooskill
Pour assurer le bon fonctionnement de la solution dans l'écosystème existant, j'ai créé plusieurs fonctions Lambda déclenchées par les événements Cognito :
Gestion des données
- Création d'utilisateur en base de données
- Synchronisation des attributs utilisateur
- Envoi d'email de bienvenue personnalisé
- Association des comptes liés à plusieurs identités
Sécurité & Personnalisation
- Personnalisation du jeton JWT avec attributs métier
- Gestion des rôles et autorisations
- Validation des données utilisateur
- Politique de mot de passe personnalisée
Optimisation du parcours d'achat
Avec l'intégration des fournisseurs d'identité sociaux, les nouveaux utilisateurs peuvent désormais s'inscrire et payer en quelques clics, sans avoir à créer et mémoriser de nouveaux identifiants. Cette fluidité a considérablement amélioré les taux de conversion du parcours d'achat.
4Architecture technique AWS
La solution s'appuie sur une architecture AWS robuste et sécurisée :
- AWS Cognito pour la gestion centralisée des utilisateurs et identités
- AWS Lambda pour la logique métier et les triggers de personnalisation
- AWS CloudWatch pour la surveillance et les alertes
- Librairie Amplify pour l'intégration client simplifiée
Les résultats
L'implémentation de cette solution d'authentification avec AWS Cognito a eu un impact significatif sur l'expérience utilisateur et les performances commerciales de Wooskill.
Les principaux bénéfices incluent :
- Expérience utilisateur améliorée avec des options d'authentification flexibles et rapides
- Sécurité renforcée bénéficiant de l'infrastructure robuste d'AWS Cognito
- Réduction des abandons pendant le processus d'inscription et d'achat
- Migration transparente des utilisateurs existants sans interruption de service
- Base solide pour l'avenir avec une solution hautement évolutive
La solution d'authentification AWS Cognito a permis à Wooskill d'offrir une expérience d'authentification moderne, sécurisée et conviviale, contribuant directement à l'amélioration de ses performances commerciales tout en posant des bases solides pour les futures évolutions de la plateforme.
Aspects techniques
Architecture de la solution
Configuration d'AWS Cognito
- Mise en place d'un User Pool dédié avec attributs personnalisés
- Configuration des politiques de sécurité (complexité des mots de passe, MFA)
- Intégration des fournisseurs d'identité tiers (Google, Facebook, Apple)
- Personnalisation de l'interface utilisateur conforme à la charte graphique Wooskill
Triggers Lambda
J'ai implémenté plusieurs fonctions Lambda attachées à des événements spécifiques du cycle d'authentification :
- Pre Sign-up : Vérification de l'existence préalable et validation des données
- Pre Authentication : Déclenchement du processus de migration si nécessaire
- Post Authentication : Enrichissement du JWT avec des attributs métier
- Post Confirmation : Création ou mise à jour de l'utilisateur en base de données
- Custom Message : Personnalisation des emails et SMS envoyés aux utilisateurs
Intégration côté client
Pour le frontend, j'ai utilisé la bibliothèque Amplify qui offre une interface simple pour interagir avec Cognito :
- Composants React pour les formulaires d'authentification
- Gestion des jetons JWT et du rafraîchissement automatique
- Hooks pour la détection de l'état d'authentification
- Intercepteurs HTTP pour attacher automatiquement les tokens aux requêtes API
Algorithme de migration
Le processus de migration a été particulièrement délicat à mettre en place pour garantir une expérience fluide :
- L'utilisateur tente de se connecter avec son email et mot de passe
- Cognito ne trouve pas l'utilisateur et déclenche la fonction Lambda de migration
- La fonction vérifie l'existence de l'utilisateur dans l'ancien système
- Si trouvé, vérification du mot de passe avec l'ancien algorithme de hachage
- En cas de succès, création automatique d'un utilisateur Cognito avec les mêmes identifiants
- L'utilisateur est authentifié sans interruption ni besoin de créer un nouveau compte

Architecture d'authentification AWS Cognito
Cliquez pour agrandir l'image
Informations du projet
Client
Année
2022
Recommandation

Sophie Kerob
CEO & Fondatrice chez Wooskill
Ca a toujours été un bonheur de travailler avec Damien. Tout d'abord pour ses compétences : étant passionné par la tech et particulièrement talentueux, Damien est très investi dans ses projets, son cerveau fourmille d'idées, il est très orienté "solutions" et créatif dans la façon de lever les freins. Mais plus encore, je tiens à souligner sa personnalité rare, il est solaire, engagé, loyal et très attachant. Toujours enjoué, avec un excellent esprit d'équipe, Damien est apprécié de tous. Une pépite, tout simplement.

Philippe Isaac
COO & Co-fondateur chez Wooskill
Très fort techniquement, passionné, hyper social , devient vite le chouchou d'une équipe entière. Je recommande