- Perintah - auth:importmengimpor akun pengguna ke project Firebase.
- Perintah - auth:exportmengekspor akun pengguna ke file JSON dan CSV.
Parameter hash sandi
Untuk menentukan parameter hash sandi yang digunakan untuk project Anda, buka bagian
Authentication > Users di Firebase console, lalu klik
ikon tiga titik di atas daftar pengguna. Anda akan melihat dialog yang berisi daftar
parameter hash sandi yang dapat digunakan dengan perintah auth:import dan
auth:export:
hash_config {
  algorithm: SCRYPT,
  base64_signer_key: <...sensitive...>,
  base64_salt_separator: <...sensitive...>,
  rounds: 8,
  mem_cost: 14,
}
Nilai ini bersifat sensitif, jadi simpan dengan hati-hati. Sebagian besar project Firebase menggunakan SCRYPT, versi modifikasi algoritme hashing scrypt, yang merupakan default untuk project baru.
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                    \
    --hash-input-order=HASH_INPUT_ORDER
| Parameter | |
|---|---|
| account_file | File CSV atau JSON yang memuat akun pengguna yang akan diimpor. Lihat Format file. | 
| hash-algo | Algoritme yang digunakan untuk meng-hash 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 meng-hash sandi. Harus ada untuk algoritme SCRYPT,HMAC_SHA512,HMAC_SHA256,HMAC_SHA1, danHMAC_MD5.
     Argumen ini harus diformat sebagai string
     berenkode base64. | 
| salt-separator | Pemisah salt 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 meng-hash sandi. Diperlukan untuk algoritme SCRYPT,MD5,SHA512,SHA256,SHA1,PBKDF_SHA1, danPBKDF2_SHA256. | 
| mem-cost | Parameter ini mewakili beban memori yang diperlukan untuk algoritme SCRYPTATAU beban CPU/memori yang diperlukan untuk algoritmeSTANDARD_SCRYPT. | 
| paralelisasi | 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. | 
| hash-input-order | Urutan sandi dan salt. Nilai yang mungkin adalah SALT_FIRSTdanPASSWORD_FIRST. Flag ini berlaku untukSHA512,SHA256,SHA1,MD5,HMAC_SHA512,HMAC_SHA256,HMAC_SHA1, danHMAC_MD5. | 
auth:export
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
| Parameter | |
|---|---|
| account_file | File CSV atau JSON sebagai tujuan ekspor. Lihat Format file. | 
| file_format | Opsional. Format file yang akan diekspor: CSV atau JSON. Jika nama file yang ditentukan dalam parameter account_filediakhiri
       dengan.csvatau.json, format tersebut yang akan digunakan dan
       parameter ini akan 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 | Wajib ID ini harus unik di antara semua akun di project Firebase Anda. Jika Anda mengimpor akun dengan UID yang sudah ada, maka akun tersebut akan ditimpa. | 
| 2 | String | Opsional | |
| 3 | Email Diverifikasi | Boolean | Opsional | 
| 4 | Hash Sandi | String | Opsional String berenkode base64. Kolom ini memerlukan pemanggil untuk memiliki peran Editor atau Pemilik. | 
| 5 | Salt Sandi | String | Opsional String berenkode base64. Kolom ini memerlukan pemanggil untuk memiliki peran Editor atau Pemilik. | 
| 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
        },
        ...
      ]
    },
    ...
  ]
}Ganti PROVIDER_ID dengan salah satu nilai berikut:
- google.com
- facebook.com
- github.com
- twitter.com