Lệnh
auth:import
sẽ nhập tài khoản người dùng vào các dự án Firebase.Lệnh
auth:export
sẽ xuất tài khoản người dùng sang các tệp JSON và CSV.
Thông số hàm băm mật khẩu
Để xác định các thông số băm mật khẩu dùng cho dự án của bạn, hãy chuyển đến mục Xác thực > Người dùng trong bảng điều khiển của Firebase rồi nhấp vào biểu tượng ba dấu chấm phía trên danh sách người dùng. Bạn sẽ thấy một hộp thoại có danh sách các tham số băm mật khẩu mà bạn có thể dùng với lệnh auth:import
và auth:export
:
hash_config {
algorithm: SCRYPT,
base64_signer_key: <...sensitive...>,
base64_salt_separator: <...sensitive...>,
rounds: 8,
mem_cost: 14,
}
Vì các giá trị này mang tính nhạy cảm nên hãy cẩn thận khi lưu trữ. Hầu hết các dự án Firebase đều sử dụng SCRYPT
, một phiên bản sửa đổi của thuật toán băm mã hoá. Đây là thuật toán mặc định cho các dự án mới.
auth:nhập
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
Thông số | |
---|---|
tệp_tài_khoản | Tệp CSV hoặc JSON chứa tài khoản người dùng cần nhập. Hãy xem phần Định dạng tệp. |
thuật toán hàm băm | Thuật toán dùng để băm mật khẩu trong tệp tài khoản người dùng. Bắt buộc phải nhập tài khoản có trường mật khẩu. Một trong các giá trị sau: BCRYPT , SCRYPT , STANDARD_SCRYPT , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 , HMAC_MD5 , MD5 , SHA512 , SHA256 , SHA1 , PBKDF_SHA1 , PBKDF2_SHA256 . |
khoá băm | Khoá dùng để băm mật khẩu. Bắt buộc đối với thuật toán SCRYPT , HMAC_SHA512 , HMAC_SHA256 ,
HMAC_SHA1 và HMAC_MD5 .
Đối số này phải được định dạng dưới dạng chuỗi được mã hoá base64. |
tách-muối | Dấu phân tách muối sẽ được thêm vào dữ liệu ngẫu nhiên khi xác minh mật khẩu. Không bắt buộc đối với tất cả thuật toán. Đối số này phải được định dạng dưới dạng chuỗi được mã hoá base64. |
vòng | Số vòng được dùng để băm mật khẩu. Bắt buộc đối với thuật toán SCRYPT , MD5 , SHA512 ,
SHA256 , SHA1 , PBKDF_SHA1 và
PBKDF2_SHA256 . |
chi phí tối thiểu | Tham số này biểu thị chi phí bộ nhớ cần thiết cho thuật toán SCRYPT HOẶC chi phí CPU/bộ nhớ cần thiết cho thuật toán STANDARD_SCRYPT .
|
tải song song | Việc song song hoá thuật toán băm. Bắt buộc đối với thuật toán STANDARD_SCRYPT . |
kích thước khối | Kích thước khối (thường là 8) của thuật toán băm. Bắt buộc đối với thuật toán STANDARD_SCRYPT . |
dk-len | Độ dài khoá phát sinh của thuật toán băm. Bắt buộc đối với thuật toán STANDARD_SCRYPT . |
thứ tự đầu vào hàm băm | Thứ tự của mật khẩu và dữ liệu ngẫu nhiên. Bạn có thể sử dụng các giá trị SALT_FIRST và PASSWORD_FIRST . Cờ này áp dụng cho SHA512 , SHA256 , SHA1 , MD5 , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 và HMAC_MD5 . |
auth:xuất
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
Thông số | |
---|---|
tệp_tài_khoản | Tệp CSV hoặc JSON để xuất sang. Hãy xem mục Định dạng tệp. |
định dạng tệp | Không bắt buộc. Định dạng tệp để xuất: CSV hoặc JSON. Nếu tên tệp được chỉ định trong tham số account_file kết thúc bằng .csv hoặc .json , thì định dạng đó sẽ được sử dụng và tham số này sẽ bị bỏ qua.
|
Định dạng tệp
Tệp tài khoản người dùng có thể được định dạng là CSV hoặc JSON.
CSV
Tệp tài khoản người dùng CSV có định dạng sau:
Số cột | Nội dung mô tả trường | Loại trường | Bình luận |
---|---|---|---|
1 | UID | Chuỗi | Bắt buộc Mã này phải là duy nhất trong số tất cả các tài khoản thuộc các dự án Firebase của bạn. Nếu bạn nhập một tài khoản có mã UID đã tồn tại, thì tài khoản đó sẽ bị ghi đè. |
2 | Chuỗi | Không bắt buộc | |
3 | Email đã được xác minh | Boolean | Không bắt buộc |
4 | Hàm băm mật khẩu | Chuỗi | Không bắt buộc Một chuỗi mã hoá base64. Trường này yêu cầu phương thức gọi phải có vai trò Người chỉnh sửa hoặc Chủ sở hữu. |
5 | Muối mật khẩu | Chuỗi | Không bắt buộc Một chuỗi mã hoá base64. Trường này yêu cầu phương thức gọi phải có vai trò Người chỉnh sửa hoặc Chủ sở hữu. |
6 | Tên | Chuỗi | Không bắt buộc |
7 | URL ảnh | Chuỗi | Không bắt buộc |
8 | Mã nhận dạng trên Google | Chuỗi | Không bắt buộc |
9 | Email của Google | Chuỗi | Không bắt buộc |
10 | Tên hiển thị của Google | Chuỗi | Không bắt buộc |
11 | URL trên Google Photos | Chuỗi | Không bắt buộc |
12 | ID Facebook | Chuỗi | Không bắt buộc |
13 | Email Facebook | Chuỗi | Không bắt buộc |
14 | Tên hiển thị của Facebook | Chuỗi | Không bắt buộc |
15 | URL ảnh Facebook | Chuỗi | Không bắt buộc |
16 | ID Twitter | Chuỗi | Không bắt buộc |
17 | Email trên Twitter | Chuỗi | Không bắt buộc |
18 | Tên hiển thị trên Twitter | Chuỗi | Không bắt buộc |
19 | URL ảnh trên Twitter | Chuỗi | Không bắt buộc |
20 | Mã GitHub | Chuỗi | Không bắt buộc |
21 | Email GitHub | Chuỗi | Không bắt buộc |
22 | Tên hiển thị trên GitHub | Chuỗi | Không bắt buộc |
23 | URL ảnh GitHub | Chuỗi | Không bắt buộc |
24 | Thời gian tạo người dùng | Dài | Không bắt buộc Dấu thời gian Unix của hệ thống (tính bằng mili giây). |
25 | Thời gian đăng nhập gần đây nhất | Dài | Không bắt buộc Dấu thời gian Unix của hệ thống (tính bằng mili giây). |
26 | Số điện thoại | Chuỗi | Không bắt buộc |
Nếu bạn không chỉ định một giá trị không bắt buộc, hãy đảm bảo rằng bạn vẫn thêm một trường trống cho giá trị đó. Trường trống có thể chứa số lượng ký tự dấu cách bất kỳ.
Ví dụ: dòng sau đây thể hiện một tài khoản người dùng:
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
Tệp tài khoản người dùng JSON có định dạng sau:
{ "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 }, ... ] }, ... ] }
Thay thế PROVIDER_ID bằng một trong các giá trị sau:
google.com
facebook.com
github.com
twitter.com