คําสั่ง
auth:import
จะนําเข้าบัญชีผู้ใช้ไปยัง Firebase โปรเจ็กต์คำสั่ง
auth:export
จะส่งออกบัญชีผู้ใช้ไปยัง JSON และ ไฟล์ CSV
พารามิเตอร์ของแฮชรหัสผ่าน
หากต้องการระบุพารามิเตอร์ของแฮชรหัสผ่านที่ใช้สําหรับโปรเจ็กต์ ให้ไปที่
การตรวจสอบสิทธิ์ > ส่วนผู้ใช้ของคอนโซล Firebase และคลิก
ไอคอน 3 จุดเหนือรายชื่อผู้ใช้ คุณจะเห็นกล่องโต้ตอบที่มีรายการ
พารามิเตอร์ของแฮชรหัสผ่านที่ใช้กับ auth:import
และ auth:export
ได้
คำสั่ง:
hash_config {
algorithm: SCRYPT,
base64_signer_key: <...sensitive...>,
base64_salt_separator: <...sensitive...>,
rounds: 8,
mem_cost: 14,
}
ค่าเหล่านี้มีความละเอียดอ่อน ดังนั้นโปรดเก็บค่าดังกล่าวด้วยความระมัดระวัง โปรเจ็กต์ Firebase ส่วนใหญ่ใช้
SCRYPT
ซึ่งเป็นอัลกอริทึมการแฮชแบบ Scrypt เวอร์ชันที่แก้ไขแล้ว
ซึ่งจะเป็นค่าเริ่มต้นสำหรับโปรเจ็กต์ใหม่
auth:นำเข้า
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
พารามิเตอร์ | |
---|---|
ไฟล์บัญชี | ไฟล์ CSV หรือ JSON ที่มีบัญชีผู้ใช้ที่จะนำเข้า โปรดดู รูปแบบไฟล์ |
แฮชอัลโก | อัลกอริทึมที่ใช้แฮชรหัสผ่านในไฟล์บัญชีผู้ใช้ ต้องนำเข้าบัญชีที่มีช่องรหัสผ่าน ค่าใดค่าหนึ่งต่อไปนี้: BCRYPT ,
SCRYPT STANDARD_SCRYPT
HMAC_SHA512 HMAC_SHA256
HMAC_SHA1 , HMAC_MD5 , MD5
SHA512 , SHA256 , SHA1
PBKDF_SHA1 , PBKDF2_SHA256 |
คีย์แฮช | คีย์ที่ใช้แฮชรหัสผ่าน ต้องระบุสำหรับ SCRYPT HMAC_SHA512 HMAC_SHA256
อัลกอริทึมของ HMAC_SHA1 และ HMAC_MD5
อาร์กิวเมนต์นี้ต้องอยู่ในรูปแบบที่เข้ารหัสฐาน 64
สตริง |
เครื่องแยกเกลือ | ตัวคั่นเกลือที่จะต่อท้าย Salt เมื่อยืนยันรหัสผ่าน ไม่บังคับสำหรับอัลกอริทึมทั้งหมด อาร์กิวเมนต์นี้ต้องมีการจัดรูปแบบเป็น base64-encoded เครื่อง |
รอบ | จำนวนรอบที่ใช้แฮชรหัสผ่าน ต้องระบุสำหรับ SCRYPT MD5 SHA512
SHA256 , SHA1 , PBKDF_SHA1 และ
อัลกอริทึมของ PBKDF2_SHA256 |
ค่าใช้จ่ายสำหรับ Mem | พารามิเตอร์นี้แสดงค่าใช้จ่ายหน่วยความจำที่ต้องใช้สำหรับ
อัลกอริทึม SCRYPT หรือค่า CPU/หน่วยความจำที่จำเป็นสำหรับฟิลด์
STANDARD_SCRYPT
|
การโหลดพร้อมกัน | การโหลดพร้อมกันของอัลกอริทึมการแฮช ต้องระบุสำหรับอัลกอริทึม STANDARD_SCRYPT |
ขนาดบล็อก | ขนาดบล็อก (ปกติคือ 8) ของอัลกอริทึมการแฮช ต้องระบุสำหรับอัลกอริทึม STANDARD_SCRYPT |
DK-L | ความยาวคีย์ที่ได้รับของอัลกอริทึมการแฮช ต้องระบุสำหรับอัลกอริทึม STANDARD_SCRYPT |
ลำดับการป้อนแฮช | ลำดับของรหัสผ่านและ Salt ค่าที่เป็นไปได้คือ SALT_FIRST และ PASSWORD_FIRST แฟล็กนี้มีผล
ถึง SHA512 , SHA256 , SHA1
MD5 HMAC_SHA512 HMAC_SHA256
HMAC_SHA1 และ HMAC_MD5 |
auth:export
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
พารามิเตอร์ | |
---|---|
ไฟล์บัญชี | ไฟล์ CSV หรือ JSON ที่จะส่งออก ดูไฟล์ format [รูปแบบ] |
รูปแบบไฟล์ | ไม่บังคับ รูปแบบไฟล์ที่จะส่งออก: CSV หรือ JSON หากชื่อไฟล์ที่ระบุในพารามิเตอร์ account_file สิ้นสุด
ด้วย .csv หรือ .json จะมีการใช้รูปแบบนั้น และ
ระบบจะไม่พิจารณาพารามิเตอร์
|
รูปแบบไฟล์
ไฟล์บัญชีผู้ใช้จะอยู่ในรูปแบบ CSV หรือ JSON
CSV
ไฟล์บัญชีผู้ใช้ CSV มีรูปแบบดังต่อไปนี้
หมายเลขคอลัมน์ | คำอธิบายของช่อง | ประเภทของช่อง | ความคิดเห็น |
---|---|---|---|
1 | UID | สตริง | ต้องระบุ รหัสนี้ต้องไม่ซ้ำกันในทุกบัญชีในโปรเจ็กต์ Firebase ถ้าคุณนำเข้าบัญชีที่มี UID อยู่แล้ว ระบบจะเขียนทับบัญชีนั้น |
2 | อีเมล | สตริง | ไม่บังคับ |
3 | อีเมลได้รับการยืนยันแล้ว | บูลีน | ไม่บังคับ |
4 | แฮชรหัสผ่าน | สตริง | ไม่บังคับ สตริงที่เข้ารหัส base64 ผู้โทรต้องมีบทบาทผู้แก้ไขหรือเจ้าของในช่องนี้ |
5 | ซอลต์รหัสผ่าน | สตริง | ไม่บังคับ สตริงที่เข้ารหัส base64 ผู้โทรต้องมีบทบาทผู้แก้ไขหรือเจ้าของในช่องนี้ |
6 | ชื่อ | สตริง | ไม่บังคับ |
7 | URL รูปภาพ | สตริง | ไม่บังคับ |
8 | รหัส Google | สตริง | ไม่บังคับ |
9 | อีเมล Google | สตริง | ไม่บังคับ |
10 | ชื่อที่แสดงของ Google | สตริง | ไม่บังคับ |
11 | URL ของ Google Photos | สตริง | ไม่บังคับ |
12 | รหัส Facebook | สตริง | ไม่บังคับ |
13 | อีเมล Facebook | สตริง | ไม่บังคับ |
14 | ชื่อที่แสดงของ Facebook | สตริง | ไม่บังคับ |
15 | URL รูปภาพของ Facebook | สตริง | ไม่บังคับ |
16 | รหัส Twitter | สตริง | ไม่บังคับ |
17 | อีเมล Twitter | สตริง | ไม่บังคับ |
18 | ชื่อที่แสดงของ Twitter | สตริง | ไม่บังคับ |
19 | URL รูปภาพของ Twitter | สตริง | ไม่บังคับ |
20 | รหัส GitHub | สตริง | ไม่บังคับ |
21 | อีเมล GitHub | สตริง | ไม่บังคับ |
22 | ชื่อที่แสดงของ GitHub | สตริง | ไม่บังคับ |
23 | URL ของรูปภาพใน GitHub | สตริง | ไม่บังคับ |
24 | เวลาที่สร้างผู้ใช้ | ยาว | ไม่บังคับ การประทับเวลา Unix Epoch ในหน่วยมิลลิวินาที |
25 | เวลาที่ลงชื่อเข้าใช้ล่าสุด | ยาว | ไม่บังคับ การประทับเวลา Unix Epoch ในหน่วยมิลลิวินาที |
26 | หมายเลขโทรศัพท์ | สตริง | ไม่บังคับ |
หากคุณไม่ได้ระบุค่าที่ไม่บังคับ โปรดตรวจสอบว่าคุณยังใส่ สำหรับค่าดังกล่าว ช่องที่ว่างอาจเป็นพื้นที่ใดก็ได้ อักขระ
ตัวอย่างเช่น บรรทัดต่อไปนี้แสดงถึงบัญชีผู้ใช้
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
ไฟล์บัญชีผู้ใช้ JSON มีรูปแบบต่อไปนี้
{ "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 }, ... ] }, ... ] }
แทนที่ PROVIDER_ID ด้วยค่าใดค่าหนึ่งต่อไปนี้
google.com
facebook.com
github.com
twitter.com