Aura Logo
aurabasedocumentos
documentos›Guias›Bulk user import

Importação de usuários em massa

Importe até 1.000 usuários por lote com bcrypt legado ou hashes de senha Argon2id modernos. Atualização transparente para Argon2id no próximo login.

5 min lido·Nível intermediário·Revisado em 26 de out. de 2026
A fonte em inglês mudou desde esta tradução. Algumas informações podem estar desatualizadas.
Esta página foi traduzida automaticamente. A versão em inglês é oficial.
#
Visão geral

Importando usuários de outra plataforma

Ao migrar de Supabase, Firebase, Auth0 ou de um banco de dados de autenticação personalizado, os usuários esperam que suas senhas existentes funcionem perfeitamente, sem forçar uma redefinição de senha global.

Aurabase fornece um endpoint de importação em massa de alto rendimento (POST /v1/auth/admin/users/import) capaz de ingerir até 1.000 usuários por solicitação. A operação retorna um relatório de status detalhado para que registros inválidos não bloqueiem o restante do lote.

#
Segurança

Hashes de senha suportados e atualização transparente

O endpoint de importação oferece suporte aos seguintes algoritmos de hash de senha:

AlgoritmoIdentificadoresComportamento
Argônio2id$argon2id$v=19$m=...Verificado diretamente usando parâmetros OWASP.
bcrypt$2a$, $2b$, $2y$Verificado no login e recodificado de forma transparente para Argon2id após a primeira autenticação bem-sucedida.

Se nenhum password_hash for fornecido para um usuário, a conta será criada sem senha. O usuário pode autenticar usando Magic Links, Email/SMS OTP ou um link de redefinição de senha.

#
API HTTP

Ponto de extremidade de importação em massa

Requer autorização de administrador (chave 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$..."
      }
    ]
  }'

Resposta (200 OK)

A resposta detalha o número total de registros processados junto com um relatório detalhado:

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 já existir um email no projeto, ele será marcado como skipped em vez de gerar um erro fatal.

#
SDK

TypeScript SDK

Usar 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}`)
    }
  }
}
#
Estúdio

Importar via Aurabase Studio

Você também pode importar usuários diretamente pela interface web:

  1. Navegue até Autenticação › Usuários no painel do seu projeto.
  2. Clique no botão Importar usuários na barra de ferramentas superior.
  3. Escolha o formato JSON ou CSV. Você pode clicar em Inserir amostra para inspecionar o esquema esperado.
  4. Cole seus dados e clique em Iniciar importação.
  5. Inspecione o resumo do lote e o relatório de status linha por linha.
Última atualização · 26 de out. de 2026