Logo Aurabase
aurabasedocumenti
documenti›Guide›Bulk user import

Importazione utente in blocco

Importa fino a 1.000 utenti per batch con hash delle password legacy bcrypt o Argon2id moderni. Aggiornamento trasparente ad Argon2id al prossimo accesso.

5 min letto·Livello intermedio·Revisionato il 26 ott 2026
La fonte inglese è cambiata da questa traduzione. Alcune informazioni potrebbero non essere aggiornate.
Questa pagina è stata tradotta automaticamente. Fa fede la versione inglese.
#
Panoramica

Importazione di utenti da un'altra piattaforma

Durante la migrazione da Supabase, Firebase, Auth0 o un database di autenticazione personalizzato, gli utenti si aspettano che le password esistenti funzionino perfettamente senza forzare una reimpostazione globale della password.

Aurabase fornisce un endpoint di importazione in blocco a throughput elevato (POST /v1/auth/admin/users/import) in grado di acquisire fino a 1.000 utenti per richiesta. L'operazione restituisce un report di stato dettagliato in modo che i record non validi non blocchino il resto del batch.

#
Sicurezza

Hash delle password supportati e aggiornamento trasparente

L'endpoint di importazione supporta i seguenti algoritmi di hashing della password:

AlgoritmoIdentificatoriComportamento
Argon2id$argon2id$v=19$m=...Verificato direttamente utilizzando i parametri OWASP.
bcrypt$2a$, $2b$, $2y$Verificato all'accesso e ricodificato in modo trasparente in Argon2id alla prima autenticazione riuscita.

Se per un utente non viene fornito password_hash, l'account viene creato senza password. L'utente può autenticarsi utilizzando Magic Links, Email/SMS OTP o un collegamento per la reimpostazione della password.

#
API HTTP

Endpoint dell'importazione in blocco

Richiede l'autorizzazione dell'amministratore (chiave 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$..."
      }
    ]
  }'

Risposta (200 OK)

La risposta descrive in dettaglio il numero totale di record elaborati insieme a un report dettagliato:

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"
      }
    ]
  }
}

Se un messaggio di posta elettronica esiste già nel progetto, viene contrassegnato come skipped anziché generare un errore irreversibile.

#
SDK

TypeScript SDK

Usa 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}`)
    }
  }
}
#
Studio

Importa tramite Aurabase Studio

Puoi anche importare gli utenti direttamente tramite l'interfaccia web:

  1. Passa a Autenticazione › Utenti nella dashboard del tuo progetto.
  2. Fai clic sul pulsante Importa utenti nella barra degli strumenti in alto.
  3. Scegli il formato JSON o CSV. È possibile fare clic su Inserisci campione per controllare lo schema previsto.
  4. Incolla i tuoi dati e fai clic su Avvia importazione.
  5. Esamina il riepilogo del batch e il report sullo stato riga per riga.
Ultimo aggiornamento · 26 ott 2026