auth0-migration

À utiliser lors de la migration ou du passage d'un fournisseur d'authentification existant (Firebase, Cognito, Supabase, Clerk, auth personnalisée) vers Auth0 — couvre l'import en masse d'utilisateurs, les stratégies de migration progressive, les patterns de migration de code et les mises à jour de validation JWT.

npx skills add https://github.com/auth0/agent-skills --skill auth0-migration

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-quickstart pour 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 :

  1. Migrer vers Auth0 (remplacer l'authentification existante)
  2. Ajouter Auth0 parallèlement (garder les deux temporairement)
  3. 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 :

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 :


É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-react pour les applications React
  • auth0-nextjs pour les applications Next.js
  • auth0-vue pour les applications Vue.js
  • auth0-angular pour les applications Angular
  • auth0-express pour les applications Express.js
  • auth0-react-native pour 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 :

Migration de code

Exemples avant/après pour tous les frameworks majeurs :


Compétences associées

Intégration principale

  • auth0-quickstart - Configuration initiale d'Auth0 après migration

Compétences SDK

  • auth0-react - Intégration SPA React
  • auth0-nextjs - Intégration Next.js
  • auth0-vue - Intégration Vue.js
  • auth0-angular - Intégration Angular
  • auth0-express - Intégration Express.js
  • auth0-react-native - Intégration React Native/Expo

Références

Skills similaires