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, dan HMAC_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, 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. |
| 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_FIRST dan PASSWORD_FIRST. Flag ini berlaku untuk
SHA512, SHA256, SHA1,
MD5, HMAC_SHA512, HMAC_SHA256,
HMAC_SHA1, dan HMAC_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_file diakhiri
dengan .csv atau .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.comfacebook.comgithub.comtwitter.com