Perintah
auth:import
mengimpor akun pengguna ke project Firebase.Perintah
auth:export
mengekspor akun pengguna ke file JSON dan CSV.
Parameter hash sandi
Untuk menentukan parameter hash sandi yang digunakan untuk project Anda, buka bagian Authentication Pengguna 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 | Long | Opsional Stempel Waktu Epoch Unix dalam milidetik. |
25 | Waktu Login Terakhir | Long | 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