Si votre application dispose déjà d’un système d’authentification fonctionnel et d’une base de données d’utilisateurs réels, l’intégration de Clerk Auth n’est pas seulement un changement de code, c’est une migration de données. Sans un plan délibéré, chaque ligne existante dans votre tableDocumentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.
users devient inconnue de Clerk : de nouveaux comptes sont provisionnés à la première connexion, aucun d’entre eux ne correspond à vos données historiques, et les clients de retour semblent avoir « perdu » leur compte.
Il n’y a vraiment que deux choses à réussir.
Cette page est destinée aux développeurs qui exécutent déjà une application avec sa propre authentification. Si vous démarrez une nouvelle application, consultez l’aperçu de Clerk Auth, aucune migration n’est alors nécessaire.
1. Importez vos utilisateurs existants dans Clerk
Chaque utilisateur actif dans votre application doit exister en tant qu’utilisateur Clerk avant que Clerk Auth soit mis en ligne. Au minimum, chaque importation doit inclure :- E-mail (requis)
- Métadonnées de profil disponibles : nom, statut vérifié, tout ce que vous souhaitez visible dans le panneau Auth
- Condensé de mot de passe : le hachage de mot de passe existant de l’utilisateur
- Algorithme de hachage : l’algorithme/format de ce hachage, exactement tel que Clerk l’attend
bcrypt, scrypt_firebase, argon2i, pbkdf2_sha256, etc.). Voir la liste complète et le format exact de condensé requis par chacun dans la référence API de création d’utilisateur Clerk.
Cette étape nécessite plus qu’un prompt en une ligne. L’Agent pilotant la migration a besoin d’une compréhension approfondie de la façon dont les mots de passe sont hachés dans votre base de code actuelle — quelle bibliothèque, quels paramètres (facteur de coût, disposition du sel, poivre, etc.) et comment cela correspond à l’un des algorithmes de hachage pris en charge par Clerk. Un prompt bien formulé ressemble à ceci :
2. Résolvez les utilisateurs Clerk vers vos ID utilisateurs existants
Une fois que les utilisateurs importés se connectent, chaque requête authentifiée porte une identité Clerk. Votre serveur doit mapper cette identité vers la ligne dans votre tableusers — sinon l’ID utilisateur Clerk ne correspondra à aucune de vos clés étrangères existantes (orders.user_id, documents.owner_id, etc.) et les données historiques sembleront perdues.
Replit-managed Clerk simplifie cela : lorsque vous importez un utilisateur avec son ID existant comme externalId de l’utilisateur Clerk, cette valeur est automatiquement écrite dans les claims de session sous sessionClaims.userId. Votre middleware n’a qu’à le préférer à l’ID utilisateur Clerk brut :
- Les utilisateurs importés se résolvent vers votre
users.idexistant viasessionClaims.userId— toutes leurs données historiques restent attachées. - Les nouveaux utilisateurs (qui se sont inscrits après le basculement et n’ont pas d’
externalId) utilisentauth.userId, qui est leur ID utilisateur Clerk. Utilisez l’ID utilisateur Clerk comme clé primaire pour ces nouvelles lignes, ou créez une ligne à la première connexion et liez-la.
C’est tout
Tout le reste — maintenir votre ancien système d’authentification en parallèle, effectuer un test à blanc sur de vrais comptes, surveiller la création d’utilisateurs en double après le basculement, décommissionner l’ancien système — relève de l’hygiène de migration standard et n’est pas spécifique à Clerk Auth.Ressources supplémentaires
- Aperçu de Clerk Auth — Comment Clerk Auth fonctionne sur Replit
- Clerk : API de création d’utilisateur — Algorithmes de hachage pris en charge et formats de condensé