아우라베이스 로고
아우라베이스문서
문서›가이드›Bulk user import

대량 사용자 가져오기

레거시 bcrypt 또는 최신 Argon2id 비밀번호 해시를 사용하여 배치당 최대 1,000명의 사용자를 가져올 수 있습니다. 다음 로그인 시 Argon2id로 투명하게 업그레이드됩니다.

5분 읽기·레벨 중급·2026. 10. 26.에 개정됨
이 번역 이후 영어 소스가 변경되었습니다. 일부 정보는 최신 정보가 아닐 수 있습니다.
이 페이지는 자동으로 번역되었습니다. 영어 버전은 권위가 있습니다.
#
개요

다른 플랫폼에서 사용자 가져오기

Supabase, Firebase, Auth0 또는 사용자 정의 인증 데이터베이스에서 마이그레이션할 때 사용자는 전역 비밀번호를 강제로 재설정하지 않고도 기존 비밀번호가 원활하게 작동할 것으로 기대합니다.

Aurabase는 요청당 최대 1,000명의 사용자를 수집할 수 있는 처리량이 높은 대량 가져오기 엔드포인트(POST /v1/auth/admin/users/import)를 제공합니다. 이 작업은 항목별 상태 보고서를 반환하므로 잘못된 기록으로 인해 배치의 나머지 부분이 차단되지 않습니다.

#
보안

지원되는 비밀번호 해시 및 투명한 업그레이드

가져오기 엔드포인트는 다음 비밀번호 해싱 알고리즘을 지원합니다.

알고리즘식별자행동
아르곤2id$argon2id$v=19$m=...OWASP 매개변수를 사용하여 직접 검증되었습니다.
암호화$2a$, $2b$, $2y$로그인 시 확인되고 첫 번째 인증 성공 시 Argon2id로 투명하게 다시 인코딩됩니다.

사용자에게 password_hash을 제공하지 않으면 비밀번호 없이 계정이 생성됩니다. 사용자는 매직 링크, 이메일/SMS OTP 또는 비밀번호 재설정 링크를 사용하여 인증할 수 있습니다.

#
HTTP API

대량 가져오기 끝점

관리자 승인(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$..."
      }
    ]
  }'

응답(200 OK)

응답에는 항목별 보고서와 함께 처리된 총 기록 수가 자세히 설명되어 있습니다.

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

프로젝트에 이메일이 이미 존재하는 경우 치명적인 오류가 발생하지 않고 skipped로 표시됩니다.

#
SDK

TypeScript SDK

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}`)
    }
  }
}
#
스튜디오

Aurabase Studio를 통해 가져오기

웹 인터페이스를 통해 직접 사용자를 가져올 수도 있습니다.

  1. 프로젝트 대시보드에서 인증 > 사용자로 이동합니다.
  2. 상단 도구 모음에서 사용자 가져오기 버튼을 클릭하세요.
  3. JSON 또는 CSV 형식을 선택합니다. 샘플 삽입을 클릭하여 예상 스키마를 검사할 수 있습니다.
  4. 데이터를 붙여넣고 가져오기 시작을 클릭하세요.
  5. 일괄 요약 및 행별 상태 보고서를 검사합니다.
마지막 업데이트 · 2026. 10. 26.