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 > 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.com
facebook.com
github.com
twitter.com