Buka konsol

auth:import dan auth:export

Perintah auth:import dan auth:export mengimpor akun pengguna ke project Firebase, dan mengekspor akun pengguna ke file JSON dan CSV.

auth:import

firebase auth:import account_file     \
    --hash-algo=hash_algorithm        \
    --hash-key=key                    \
    --salt-separator=salt_separator   \
    --rounds=rounds                   \
    --mem-cost=mem_cost               \
    --parallelization=parallelization \
    --block-size=block_size           \
    --dk-len=dk_len
Parameter
account_file File CSV atau JSON yang memuat akun pengguna yang akan diimpor. Lihat Format file.
hash-algo Algoritme yang digunakan untuk hashing sandi pada file akun pengguna. Harus ada untuk mengimpor akun dengan kolom sandi. Salah satu dari nilai berikut: BCRYPT, SCRYPT, STANDARD_SCRYPT, HMAC_SHA512, HMAC_SHA256, HMAC_SHA1, HMAC_MD5, MD5, SHA512, SHA256, SHA1, PBKDF_SHA1, PBKDF2_SHA256.
hash-key Kunci yang digunakan untuk hashing sandi. Harus ada untuk algoritme SCRYPT, HMAC_SHA512, HMAC_SHA256, HMAC_SHA1, dan HMAC_MD5. Argumen ini harus diformat sebagai string berenkode base64.
salt-separator Salt separator yang akan ditambahkan ke salt saat memverifikasi sandi. Opsional untuk semua algoritme. Argumen ini harus diformat sebagai string berenkode base64.
rounds Jumlah putaran yang digunakan untuk hashing sandi. Diperlukan untuk algoritme SCRYPT, MD5, SHA512, SHA256, SHA1, PBKDF_SHA1 dan PBKDF2_SHA256.
mem-cost Parameter ini mewakili beban memori yang diperlukan untuk algoritme SCRYPT atau beban CPU/memori yang diperlukan untuk algoritme STANDARD_SCRYPT.
parallelization Paralelisasi dari algoritme hashing. Diperlukan untuk algoritme STANDARD_SCRYPT.
block-size Ukuran blok (biasanya 8) dari algoritme hashing. Diperlukan untuk algoritme STANDARD_SCRYPT.
dk-len Panjang kunci turunan dari algoritme hashing. Diperlukan untuk algoritme STANDARD_SCRYPT.

auth:export

firebase auth:export account_file --format=file_format
Parameter
account_file File CSV atau JSON sebagai tujuan ekspor. Lihat Format file.
format Opsional: format file yang akan diekspor: csv atau json. Jika nama file yang ditentukan pada parameter account_file diakhiri dengan .csv atau .json, berarti format tersebut digunakan dan parameter ini diabaikan.

Format file

File akun pengguna dapat diformat sebagai CSV atau JSON.

CSV

File akun pengguna CSV menggunakan format berikut:

Nomor kolom Deskripsi kolom Jenis kolom Komentar
1 UID String Harus ada. ID ini harus unik di antara semua akun dalam project Firebase. Jika Anda mengimpor akun dengan UID yang sudah ada, akun tersebut akan ditimpa.
2 Email String Opsional
3 Email Diverifikasi Boolean Opsional
4 Hash Sandi String Opsional. String berenkode base64.
5 Salt Sandi String Opsional. String berenkode base64.
6 Nama String Opsional
7 URL Foto String Opsional
8 ID Google String Opsional
9 Email Google String Opsional
10 Nama Tampilan Google String Opsional
11 URL Foto Google String Opsional
12 ID Facebook String Opsional
13 Email Facebook String Opsional
14 Nama Tampilan Facebook String Opsional
15 URL Foto Facebook String Opsional
16 ID Twitter String Opsional
17 Email Twitter String Opsional
18 Nama Tampilan Twitter String Opsional
19 URL Foto Twitter String Opsional
20 ID GitHub String Opsional
21 Email GitHub String Opsional
22 Nama Tampilan GitHub String Opsional
23 URL Foto GitHub String Opsional
24 Waktu Pembuatan Pengguna Panjang Opsional. Stempel Waktu Epoch Unix dalam milidetik.
25 Waktu Login Terakhir Panjang Opsional. Stempel Waktu Epoch Unix dalam milidetik.
26 Nomor Telepon String Opsional.

Jika tidak menentukan nilai opsional, pastikan Anda masih menyertakan kolom kosong untuk nilai tersebut. Kolom kosong bisa berupa sembarang karakter spasi.

Misalnya, baris berikut menunjukkan akun pengguna:

111, test@test.org, false, Jlf7onfLbzqPNFP/1pqhx6fQF/w=, c2FsdC0x, Test User, http://photo.com/123, , , , , 123, test@test.org, Test FB User, http://photo.com/456, , , , , , , , , 1486324027000, 1486324027000

JSON

File akun pengguna JSON menggunakan format berikut:

{
  "users": [
    {
      "localId": uid,
      "email": email-address
      "emailVerified": email-verified,
      "passwordHash": base64-encoded-password-hash,
      "salt": base64-encoded-password-salt,
      "displayName": name,
      "photoUrl": photo-url,
      "createdAt": created-at-in-millis,
      "lastSignedInAt": last-signedin-at-in-millis,
      "phoneNumber": phone-number
      "providerUserInfo": [
        {
          "providerId": provider-id,
          "rawId": provider-uid,
          "email":  provider-email,
          "displayName": provider-name,
          "photoUrl": provider-photo-url
        },
        ...
      ]
    },
    ...
  ]
}

Kolom providerId harus berupa salah satu dari nilai berikut: google.com, facebook.com, github.com, twitter.com.