Polecenie
auth:importimportuje konta użytkowników do Firebase w projektach AI.Polecenie
auth:exporteksportuje 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.comfacebook.comgithub.comtwitter.com