Guide de Migration Auth0
Migrez les utilisateurs et les flux d'authentification depuis des fournisseurs d'authentification existants vers Auth0.
Aperçu
Quand utiliser cette compétence
- Migrer d'un autre fournisseur d'authentification vers Auth0
- Importer en masse les utilisateurs existants
- Transitionner progressivement des bases d'utilisateurs actifs
- Mettre à jour la validation JWT dans les APIs
Quand NE PAS utiliser
- Commencer de zéro avec Auth0 - Utilisez
auth0-quickstartpour les nouveaux projets sans utilisateurs existants - Utiliser déjà Auth0 - Ceci concerne la migration VERS Auth0, pas entre les tenants Auth0
- Ajouter seulement MFA ou des fonctionnalités - Utilisez des compétences spécifiques si vous ajoutez des capacités
Approches de migration
- Migration en masse : Import unique d'utilisateurs (recommandé pour les bases petites/inactives)
- Migration progressive : Migration lazy dans le temps (recommandé pour les grandes bases actives)
- Hybride : Importer les utilisateurs inactifs, migrer lazy les utilisateurs actifs
Étape 0 : Détecter le fournisseur d'authentification existant
Vérifiez si le projet possède déjà une authentification :
Cherchez des motifs courants liés à l'authentification dans la base de code :
| Motif | Indique |
|---|---|
signInWithEmailAndPassword, onAuthStateChanged |
Firebase Auth |
useUser, useSession, isSignedIn |
Hooks d'authentification existants |
passport.authenticate, LocalStrategy |
Passport.js |
authorize, getAccessToken, oauth |
OAuth/OIDC |
JWT, jwt.verify, jsonwebtoken |
Authentification basée sur les jetons |
/api/auth/, /login, /callback |
Routes d'authentification |
Si une authentification existante est détectée, demandez :
J'ai détecté une authentification existante dans votre projet. Êtes-vous en train de :
- Migrer vers Auth0 (remplacer l'authentification existante)
- Ajouter Auth0 parallèlement (garder les deux temporairement)
- Commencer de zéro (supprimer l'ancienne authentification, nouvel environnement Auth0)
Flux de travail de migration
Étape 1 : Exporter les utilisateurs existants
Exportez les utilisateurs depuis votre fournisseur actuel. Consultez le Guide d'import d'utilisateurs pour des instructions détaillées :
- Export depuis Firebase
- Export depuis AWS Cognito
- Export depuis Supabase
- Export depuis une base de données personnalisée
Données requises par utilisateur :
- Adresse e-mail
- Statut de vérification de l'e-mail
- Hash du mot de passe (si disponible)
- Métadonnées utilisateur/données de profil
- Timestamp de création
Étape 2 : Importer les utilisateurs dans Auth0
Importez les utilisateurs via Dashboard, CLI ou Management API.
Démarrage rapide :
# Via Auth0 CLI
auth0 api post "jobs/users-imports" \
--data "connection_id=con_ABC123" \
--data "users=@users.json"
Pour des instructions détaillées :
- Format JSON utilisateur
- Algorithmes de hash de mot de passe
- Méthodes d'import
- Surveillance de la progression de l'import
- Erreurs d'import courantes
Étape 3 : Migrer le code de l'application
Mettez à jour le code de votre application pour utiliser les SDKs Auth0.
Consultez Motifs de migration de code pour des exemples détaillés avant/après :
Frontend :
Backend :
Spécifique au fournisseur :
Après la migration du code, utilisez les compétences spécifiques au framework :
auth0-reactpour les applications Reactauth0-nextjspour les applications Next.jsauth0-vuepour les applications Vue.jsauth0-angularpour les applications Angularauth0-expresspour les applications Express.jsauth0-react-nativepour les applications React Native/Expo
Étape 4 : Mettre à jour la validation JWT d'API
Si votre API valide les JWTs, mettez à jour pour valider les jetons Auth0.
Différences clés :
- Algorithme : HS256 (symétrique) → RS256 (asymétrique)
- Émetteur : Personnalisé →
https://YOUR_TENANT.auth0.com/ - URL JWKS :
https://YOUR_TENANT.auth0.com/.well-known/jwks.json
Consultez Exemples de validation JWT pour :
- Implémentation Node.js / Express
- Implémentation Python / Flask
- Différences clés et checklist de migration
Stratégie de migration progressive
Pour les applications en production avec des utilisateurs actifs, utilisez une approche par phases :
Phase 1 : Authentification parallèle
Supportez à la fois Auth0 et le fournisseur legacy simultanément :
// Supporter les deux fournisseurs pendant la migration
const getUser = async () => {
// Essayer Auth0 en premier
const auth0User = await getAuth0User();
if (auth0User) return auth0User;
// Retour au fournisseur legacy
return await getLegacyUser();
};
Phase 2 : Nouveaux utilisateurs sur Auth0
- Tous les nouveaux inscriptions vont à Auth0
- Les utilisateurs existants restent sur le fournisseur legacy
- Migrer les utilisateurs à la prochaine connexion (migration lazy)
Phase 3 : Migration forcée
- Inviter les utilisateurs restants à « mettre à jour le compte »
- Envoyer des e-mails de réinitialisation de mot de passe via Auth0
- Définir une date limite pour l'arrêt du système legacy
Phase 4 : Nettoyage
- Supprimer le code d'authentification legacy
- Archiver l'export d'utilisateurs pour la conformité
- Mettre à jour la documentation
Problèmes de migration courants
| Problème | Solution |
|---|---|
| Hashs de mot de passe incompatibles | Utiliser une connexion Auth0 custom DB avec migration lazy |
| Les connexions sociales ne se lient pas | Configurer la même connexion sociale, liaison auto par e-mail |
| Claims personnalisés manquants | Ajouter les claims via Auth0 Actions |
| Format de jeton différent | Mettre à jour l'API pour valider les JWTs RS256 avec l'émetteur Auth0 |
| Persistance de session | Auth0 utilise des jetons de rafraîchissement rotatifs ; mettre à jour le stockage des jetons |
| Les utilisateurs doivent se reconnecter | Attendu pour l'authentification basée sur la redirection ; communiquer aux utilisateurs |
Documentation de référence
Import d'utilisateurs
Guide complet pour exporter et importer les utilisateurs :
- Export depuis les fournisseurs courants
- Format JSON utilisateur
- Algorithmes de hash de mot de passe
- Méthodes d'import
- Surveillance et résolution des problèmes
Migration de code
Exemples avant/après pour tous les frameworks majeurs :
- Motifs React
- Motifs Next.js
- Motifs Express
- Motifs Vue.js
- Motifs Angular
- Motifs React Native
- Validation JWT d'API
Compétences associées
Intégration principale
auth0-quickstart- Configuration initiale d'Auth0 après migration
Compétences SDK
auth0-react- Intégration SPA Reactauth0-nextjs- Intégration Next.jsauth0-vue- Intégration Vue.jsauth0-angular- Intégration Angularauth0-express- Intégration Express.jsauth0-react-native- Intégration React Native/Expo