Lệnh
auth:import
nhập tài khoản người dùng vào dự án Firebase.Lệnh
auth:export
xuất tài khoản người dùng sang tệp JSON và CSV.
Tham số băm mật khẩu
Để xác định các tham số băm mật khẩu được sử dụng cho dự án của bạn, hãy điều hướng đến phần Xác thực > Người dùng của bảng điều khiển Firebase và nhấp vào biểu tượng ba 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ể sử dụng với các lệnh auth:import
và auth:export
:
hash_config {
algorithm: SCRYPT,
base64_signer_key: <...sensitive...>,
base64_salt_separator: <...sensitive...>,
rounds: 8,
mem_cost: 14,
}
Những giá trị này rất nhạy cảm, vì vậy hãy cẩn thận khi lưu trữ chúng. 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ã hóa , đây là phiên bản mặc định cho các dự án mới.
xác thực:nhập khẩu
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 tin tài khoản | Tệp CSV hoặc JSON chứa tài khoản người dùng cần nhập. Xem Định dạng tệp . |
thuật toán 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 . |
khóa băm | Khóa dùng để băm mật khẩu. Cần thiết cho các 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ã hóa base64 . |
máy tách muối | Bộ tách muối sẽ được thêm vào muối khi xác minh mật khẩu. Tùy chọn cho tất cả các thuật toán. Đối số này phải được định dạng dưới dạng chuỗi được mã hóa base64 . |
vòng | Số vòng được sử dụng để băm mật khẩu. Cần thiết cho các thuật SCRYPT , MD5 , SHA512 , SHA256 , SHA1 , PBKDF_SHA1 và PBKDF2_SHA256 . |
chi phí mem | Tham số này thể hiện 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 . |
sự song song hóa | Sự song song của thuật toán băm. Cần thiết cho thuật toán STANDARD_SCRYPT . |
kích thước khối | Kích thước khối (thông thường là 8) của thuật toán băm. Cần thiết cho thuật toán STANDARD_SCRYPT . |
dk-len | Độ dài khóa dẫn xuất của thuật toán băm. Cần thiết cho thuật toán STANDARD_SCRYPT . |
thứ tự băm đầu vào | Thứ tự của mật khẩu và muối. Các giá trị có thể có là 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 . |
xác thực:xuất khẩu
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
Thông số | |
---|---|
tập tin tài khoản | Tệp CSV hoặc JSON để xuất sang. Xem Định dạng tệp . |
định dạng tệp | Không bắt buộc. Định dạng tệp cần 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 dưới dạng CSV hoặc JSON .
CSV
Tệp tài khoản người dùng CSV có định dạng sau:
Số cột | Mô tả trường | Loại lĩnh vực | Bình luận |
---|---|---|---|
1 | UID | Sợi dây | Yêu cầu ID này phải là duy nhất trong số tất cả các tài khoản trong dự án Firebase của bạn. Nếu bạn nhập tài khoản có UID đã tồn tại thì tài khoản đó sẽ bị ghi đè. |
2 | Sợi dây | Không bắt buộc | |
3 | email đã kích hoạt | Boolean | Không bắt buộc |
4 | Băm mật khẩu | Sợi dây | Không bắt buộc Một chuỗi được mã hóa base64. Trường này yêu cầu người gọi phải có vai trò Biên tập viên hoặc Chủ sở hữu . |
5 | mật khẩu muối | Sợi dây | Không bắt buộc Một chuỗi được mã hóa base64. Trường này yêu cầu người gọi phải có vai trò Biên tập viên hoặc Chủ sở hữu . |
6 | Tên | Sợi dây | Không bắt buộc |
7 | URL ảnh | Sợi dây | Không bắt buộc |
số 8 | ID Google | Sợi dây | Không bắt buộc |
9 | Email của Google | Sợi dây | Không bắt buộc |
10 | Tên hiển thị của Google | Sợi dây | Không bắt buộc |
11 | URL ảnh của Google | Sợi dây | Không bắt buộc |
12 | tài khoản Facebook | Sợi dây | Không bắt buộc |
13 | Email Facebook | Sợi dây | Không bắt buộc |
14 | Tên hiển thị trên Facebook | Sợi dây | Không bắt buộc |
15 | URL ảnh trên Facebook | Sợi dây | Không bắt buộc |
16 | ID Twitter | Sợi dây | Không bắt buộc |
17 | Email Twitter | Sợi dây | Không bắt buộc |
18 | Tên hiển thị Twitter | Sợi dây | Không bắt buộc |
19 | URL ảnh Twitter | Sợi dây | Không bắt buộc |
20 | ID GitHub | Sợi dây | Không bắt buộc |
21 | Email GitHub | Sợi dây | Không bắt buộc |
22 | Tên hiển thị GitHub | Sợi dây | Không bắt buộc |
23 | URL ảnh GitHub | Sợi dây | 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 Epoch tính bằng mili giây. |
25 | Thời gian đăng nhập lần cuối | Dài | Không bắt buộc Dấu thời gian Unix của Epoch tính bằng mili giây. |
26 | Số điện thoại | Sợi dây | Không bắt buộc |
Nếu bạn không chỉ định giá trị tùy chọn, hãy đảm bảo rằng bạn vẫn bao gồm trường trống cho giá trị đó. Một trường trống có thể có số lượng ký tự khoảng trắng bất kỳ.
Ví dụ: dòng sau đại diện cho 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