Logo Aurabase
aurabasedocuments
documents›Guides›Bulk user import

Importation d'utilisateurs en masse

Importez jusqu'à 1 000 utilisateurs par lot avec des hachages de mots de passe bcrypt existants ou Argon2id modernes. Mise à niveau transparente vers Argon2id lors de la prochaine connexion.

5 min de lecture·Niveau intermédiaire·Révisé le 26 oct. 2026
La source anglaise a changé depuis cette traduction. Certaines informations peuvent être en retard.
Cette page a été traduite automatiquement. La version anglaise fait foi.
#
Aperçu

Importer des utilisateurs depuis une autre plateforme

Lors de la migration depuis Supabase, Firebase, Auth0 ou une base de données d'authentification personnalisée, les utilisateurs s'attendent à ce que leurs mots de passe existants fonctionnent de manière transparente sans forcer une réinitialisation globale du mot de passe.

Aurabase fournit un point de terminaison d'importation en masse à haut débit (POST /v1/auth/admin/users/import) capable d'ingérer jusqu'à 1 000 utilisateurs par requête. L'opération renvoie un rapport d'état détaillé afin que les enregistrements non valides ne bloquent pas le reste du lot.

#
Sécurité

Hachages de mots de passe pris en charge et mise à niveau transparente

Le point de terminaison d'importation prend en charge les algorithmes de hachage de mot de passe suivants :

AlgorithmeIdentifiantsComportement
Argon2id$argon2id$v=19$m=...Vérifié directement à l'aide des paramètres OWASP.
bcrypt$2a$, $2b$, $2y$Vérifié lors de la connexion et réencodé de manière transparente en Argon2id lors de la première authentification réussie.

Si aucun password_hash n'est fourni pour un utilisateur, le compte est créé sans mot de passe. L'utilisateur peut s'authentifier à l'aide de Magic Links, d'un e-mail/SMS OTP ou d'un lien de réinitialisation de mot de passe.

#
API HTTP

Point de terminaison d’importation groupée

Nécessite l'autorisation de l'administrateur (clé service_role).

Terminalbash
curl -X POST "$AURABASE_URL/v1/auth/admin/users/import" \
  -H "apikey: $AURABASE_SERVICE_ROLE_KEY" \
  -H "Authorization: Bearer $AURABASE_SERVICE_ROLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "users": [
      {
        "email": "alice@example.com",
        "email_verified": true,
        "password_hash": "$2b$12$e8kPM4QJ8a2x4K7hM0uL.OeQ7f...",
        "name": "Alice Johnson",
        "user_metadata": { "department": "Engineering" }
      },
      {
        "email": "bob@example.com",
        "email_verified": false,
        "password_hash": "$argon2id$v=19$m=65536,t=3,p=4$..."
      }
    ]
  }'

Réponse (200 OK)

La réponse détaille le nombre total d'enregistrements traités ainsi qu'un rapport détaillé :

json
{
  "data": {
    "created": 2,
    "skipped": 0,
    "errors": 0,
    "report": [
      {
        "index": 0,
        "email": "alice@example.com",
        "status": "created",
        "id": "e3b0c442-98fc-1c14-9afb-f4c599684824"
      },
      {
        "index": 1,
        "email": "bob@example.com",
        "status": "created",
        "id": "7d2b5129-3bdf-48bc-8919-4b684df69921"
      }
    ]
  }
}

Si un e-mail existe déjà dans le projet, il est marqué comme skipped plutôt que de générer une erreur fatale.

#
SDK

SDK TypeScript

Utilisez authAdmin.importUsers():

import-script.tstypescript
import { createClient } from '@aurabase/aurabase-js'

const aura = createClient(process.env.AURABASE_URL!, process.env.AURABASE_SERVICE_ROLE_KEY!)

const usersToImport = [
  {
    email: 'user1@example.com',
    emailVerified: true,
    passwordHash: '$2b$12$e8kPM4QJ8a2x4...',
    name: 'User One',
    userMetadata: { plan: 'pro' },
  },
  {
    email: 'user2@example.com',
    emailVerified: false,
    passwordHash: '$argon2id$v=19$m=65536,t=3,p=4$...',
    name: 'User Two',
  },
]

const { data, error } = await aura.authAdmin.importUsers(usersToImport)

if (error) {
  console.error('Import failed:', error.message)
} else {
  console.log(`Import summary: ${data.created} created, ${data.skipped} skipped, ${data.errors} errors`)

  for (const item of data.report) {
    if (item.status === 'error') {
      console.warn(`Row ${item.index} (${item.email}) error: ${item.error}`)
    }
  }
}
#
Atelier

Importer via Aurabase Studio

Vous pouvez également importer des utilisateurs directement via l'interface Web :

  1. Accédez à Authentification › Utilisateurs dans le tableau de bord de votre projet.
  2. Cliquez sur le bouton Importer les utilisateurs dans la barre d'outils supérieure.
  3. Choisissez le format JSON ou CSV. Vous pouvez cliquer sur Insérer un échantillon pour inspecter le schéma attendu.
  4. Collez vos données et cliquez sur Démarrer l'importation.
  5. Inspectez le résumé du lot et le rapport d’état ligne par ligne.
Dernière mise à jour · 26 oct. 2026