- 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_SCRYPTHMAC_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,
     AlgorytmyHMAC_SHA1iHMAC_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_SHA1i
      Algorytmy usługiPBKDF2_SHA256. | 
| mem-cost | Ten parametr reprezentuje albo koszt pamięci wymagany przez
      algorytm SCRYPTLUB koszt procesora/pamięci wymaganego dla
      algorytmSTANDARD_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_FIRSTiPASSWORD_FIRST. Ta flaga obowiązuje
    do:SHA512,SHA256,SHA1,MD5,HMAC_SHA512,HMAC_SHA256,HMAC_SHA1iHMAC_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_filekończy się
      z wartością.csvlub.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