Logotipo de Aurabase
aurabasedocumentos
documentos›Guías›Bulk user import

Importación masiva de usuarios

Importe hasta 1000 usuarios por lote con hashes de contraseña bcrypt heredados o Argon2id modernos. Actualización transparente a Argon2id en el próximo inicio de sesión.

5 min leer·Nivel intermedio·Revisado el 26 oct 2026
La fuente en inglés ha cambiado desde esta traducción. Es posible que parte de la información esté desactualizada.
Esta página fue traducida automáticamente. La versión en inglés es autorizada.
#
Descripción general

Importar usuarios de otra plataforma

Al migrar desde Supabase, Firebase, Auth0 o una base de datos de autenticación personalizada, los usuarios esperan que sus contraseñas existentes funcionen sin problemas sin forzar un restablecimiento de contraseña global.

Aurabase proporciona un punto final de importación masiva de alto rendimiento (POST /v1/auth/admin/users/import) capaz de procesar hasta 1000 usuarios por solicitud. La operación devuelve un informe de estado detallado para que los registros no válidos no bloqueen el resto del lote.

#
Seguridad

Hashes de contraseña admitidos y actualización transparente

El punto final de importación admite los siguientes algoritmos de hash de contraseñas:

AlgoritmoIdentificadoresComportamiento
Argón2id$argon2id$v=19$m=...Verificado directamente usando parámetros OWASP.
bcrypt$2a$, $2b$, $2y$Verificado al iniciar sesión y recodificado de forma transparente en Argon2id tras la primera autenticación exitosa.

Si no se proporciona ningún password_hash para un usuario, la cuenta se crea sin contraseña. El usuario puede autenticarse mediante Magic Links, correo electrónico/SMS OTP o un enlace de restablecimiento de contraseña.

#
API HTTP

Punto final de importación masiva

Requiere autorización de administrador (tecla 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$..."
      }
    ]
  }'

Respuesta (200 OK)

La respuesta detalla el número total de registros procesados junto con un informe detallado:

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 ya existe un correo electrónico en el proyecto, se marca como skipped en lugar de generar un error fatal.

#
SDK

TypeScript SDK

Utilice 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}`)
    }
  }
}
#
Estudio

Importar a través de Aurabase Studio

También puedes importar usuarios directamente a través de la interfaz web:

  1. Navegue hasta Autenticación › Usuarios en el panel de su proyecto.
  2. Haga clic en el botón Importar usuarios en la barra de herramientas superior.
  3. Elija el formato JSON o CSV. Puede hacer clic en Insertar muestra para inspeccionar el esquema esperado.
  4. Pegue sus datos y haga clic en Iniciar importación.
  5. Inspeccione el resumen del lote y el informe de estado fila por fila.
Última actualización · 26 oct 2026