Polecenie
auth:import
importuje konta użytkowników do Firebase w projektach AI.Polecenie
auth:export
eksportuje konta użytkowników do pliku JSON oraz CSV.
Parametry hasza hasła
Aby określić parametry skrótu hasła używane w projekcie, otwórz
kliknij Uwierzytelnianie > Użytkownicy w konsoli Firebase i kliknij
ikonę z 3 kropkami nad listą użytkowników. Pojawi się okno z listą
parametrów skrótu hasła, których możesz używać z parametrami auth:import
i auth:export
polecenia:
hash_config {
algorithm: SCRYPT,
base64_signer_key: <...sensitive...>,
base64_salt_separator: <...sensitive...>,
rounds: 8,
mem_cost: 14,
}
Wartości te są wrażliwe, więc przechowuj je z rozwagą. Większość projektów Firebase używa
SCRYPT
, zmodyfikowaną wersję algorytmu szyfrowania scrypt,
co jest ustawieniem domyślnym w nowych projektach.
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
Parametry | |
---|---|
plik_konta | Plik CSV lub JSON zawierający konta użytkowników do zaimportowania. Zobacz Format pliku. |
hasz-algo | Algorytm używany do haszowania haseł w pliku kont użytkowników. Wymagane do importowania kont z polami haseł. Jedna z tych wartości: BCRYPT ,
SCRYPT , STANDARD_SCRYPT
HMAC_SHA512 , HMAC_SHA256 ,
HMAC_SHA1 , HMAC_MD5 , MD5 ,
SHA512 , SHA256 , SHA1 ,
PBKDF_SHA1 , PBKDF2_SHA256 . |
klucz skrótu | Klucz używany do haszowania haseł. Wymagane w przypadku SCRYPT , HMAC_SHA512 , HMAC_SHA256 ,
Algorytmy HMAC_SHA1 i HMAC_MD5 .
Ten argument musi być w formacie zakodowanym w formacie base64
ciągu znaków. |
separator soli | Separator soli, który jest dodawany do ciągu zaburzającego podczas weryfikowania hasła. Opcjonalny w przypadku wszystkich algorytmów. Ten argument musi być sformatowany jako zakodowany w formacie base64. |
rundy | Liczba rund używanych do haszowania haseł. Wymagane w przypadku SCRYPT , MD5 , SHA512 ,
SHA256 , SHA1 , PBKDF_SHA1 i
Algorytmy usługi PBKDF2_SHA256 . |
mem-cost | Ten parametr reprezentuje albo koszt pamięci wymagany przez
algorytm SCRYPT LUB koszt procesora/pamięci wymaganego dla
algorytm STANDARD_SCRYPT .
|
równoległość | Równoległość algorytmu haszowania. Wymagane w przypadku algorytmu STANDARD_SCRYPT . |
rozmiar blokowy | Rozmiar bloku (zwykle 8) algorytmu haszowania. Wymagane w przypadku algorytmu STANDARD_SCRYPT . |
dk-len | Pochodna długość klucza algorytmu szyfrowania. Wymagane w przypadku algorytmu STANDARD_SCRYPT . |
hasz-input-order | Kolejność haseł i ciągów zaburzających. Możliwe wartości to SALT_FIRST i PASSWORD_FIRST . Ta flaga obowiązuje
do: SHA512 , SHA256 , SHA1 ,
MD5 , HMAC_SHA512 , HMAC_SHA256 ,
HMAC_SHA1 i HMAC_MD5 . |
auth:export
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
Parametry | |
---|---|
plik_konta | Plik CSV lub JSON, do którego ma nastąpić eksport. Zobacz plik . |
format_pliku | Opcjonalne. Format pliku do wyeksportowania: CSV lub JSON. Jeśli nazwa pliku określona w parametrze account_file kończy się
z wartością .csv lub .json , używany jest ten format i ten
jest ignorowany.
|
Format pliku
Plik kont użytkowników może mieć format CSV lub JSON.
CSV
Plik CSV z informacjami o kontach użytkowników ma taki format:
Numer kolumny | Opis pola | Typ pola | Komentarze |
---|---|---|---|
1 | Użytkownik (UID) | Ciąg znaków | Wymagane Ten identyfikator powinien być niepowtarzalny wśród wszystkich kont w projektach Firebase. Jeśli zaimportujesz konto z istniejącym identyfikatorem UID, zostanie ono zastąpione. |
2 | Ciąg znaków | Opcjonalnie | |
3 | Adres e-mail zweryfikowany | Wartość logiczna | Opcjonalnie |
4 | Hasz hasła | Ciąg znaków | Opcjonalny Ciąg zakodowany w standardzie base64. W tym polu osoba wywołująca musi mieć rolę Edytujący lub Właściciel. |
5 | Sól do haseł | Ciąg znaków | Opcjonalny Ciąg zakodowany w standardzie base64. W tym polu osoba wywołująca musi mieć rolę Edytujący lub Właściciel. |
6 | Nazwa | Ciąg znaków | Opcjonalnie |
7 | Adres URL zdjęcia | Ciąg znaków | Opcjonalnie |
8 | Identyfikator Google | Ciąg znaków | Opcjonalnie |
9 | Poczta e-mail Google | Ciąg znaków | Opcjonalnie |
10 | Nazwa wyświetlana Google | Ciąg znaków | Opcjonalnie |
11 | Adres URL Zdjęć Google | Ciąg znaków | Opcjonalnie |
12 | Identyfikator Facebooka | Ciąg znaków | Opcjonalnie |
13 | Adres e-mail na Facebooku | Ciąg znaków | Opcjonalnie |
14 | Wyświetlana nazwa na Facebooku | Ciąg znaków | Opcjonalnie |
15 | URL zdjęcia na Facebooku | Ciąg znaków | Opcjonalnie |
16 | Identyfikator Twittera | Ciąg znaków | Opcjonalnie |
17 | Adres e-mail na Twitterze | Ciąg znaków | Opcjonalnie |
18 | Wyświetlana nazwa na Twitterze | Ciąg znaków | Opcjonalnie |
19 | Adres URL zdjęcia na Twitterze | Ciąg znaków | Opcjonalnie |
20 | Identyfikator GitHuba | Ciąg znaków | Opcjonalnie |
21 | Adres e-mail w serwisie GitHub | Ciąg znaków | Opcjonalnie |
22 | Wyświetlana nazwa GitHub | Ciąg znaków | Opcjonalnie |
23 | URL zdjęcia na GitHubie | Ciąg znaków | Opcjonalnie |
24 | Czas utworzenia konta użytkownika | Liczba długa | Opcjonalna sygnatura czasowa systemu Unix w epoce (w milisekundach). |
25 | Godzina ostatniego logowania | Liczba długa | Opcjonalna sygnatura czasowa systemu Unix w epoce (w milisekundach). |
26 | Numer telefonu | Ciąg znaków | Opcjonalnie |
Jeśli nie określisz wartości opcjonalnej, pamiętaj, aby zawsze umieścić parametr puste pole na wartość. Puste pole może zawierać dowolną liczbę spacji znaków.
Na przykład ten wiersz przedstawia konto użytkownika:
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
Plik JSON konta użytkownika ma taki format:
{ "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 }, ... ] }, ... ] }
Zastąp PROVIDER_ID jedną z tych wartości:
google.com
facebook.com
github.com
twitter.com