- auth:importkomutu, kullanıcı hesaplarını Firebase'e aktarır bilgi edinmenizi sağlar.
- auth:exportkomutu, kullanıcı hesaplarını JSON'a ve CSV dosyaları.
Şifre karması parametreleri
Projenizde kullanılan şifre karması parametrelerini belirlemek için şuraya gidin:
Kimlik Doğrulama > Firebase konsolunun Kullanıcılar bölümüne gidip
kullanıcı listesinin üzerindeki üç nokta simgesini tıklayın. Listenin olduğu bir iletişim kutusu göreceksiniz
auth:import ve auth:export ile kullanabileceğiniz şifre karması parametresi
komutları:
hash_config {
  algorithm: SCRYPT,
  base64_signer_key: <...sensitive...>,
  base64_salt_separator: <...sensitive...>,
  rounds: 8,
  mem_cost: 14,
}
Bu değerler hassas olduğundan dikkatli bir şekilde saklayın. Çoğu Firebase projesi,
SCRYPT, şifre karma oluşturma algoritmasının değiştirilmiş bir sürümüdür,
Yeni projeler için varsayılan ayardır.
auth:içe aktarma
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
| Parametreler | |
|---|---|
| hesap_dosyası | İçe aktarılacak kullanıcı hesaplarını içeren CSV veya JSON dosyası. Görüntüleyin Dosya biçimi. | 
| karma-algo | Kullanıcı hesabı dosyasındaki şifrelere karma oluşturma işlemi uygulamak için kullanılan algoritma. . Şifre alanları olan hesapları içe aktarmak için gereklidir. Şu değerlerden biri: BCRYPT,SCRYPTSTANDARD_SCRYPT,HMAC_SHA512,HMAC_SHA256,HMAC_SHA1,HMAC_MD5,MD5,SHA512,SHA256,SHA1,PBKDF_SHA1,PBKDF2_SHA256. | 
| karma-anahtar | Şifrelere karma oluşturma işlemi uygulamak için kullanılan anahtar. . Şunun için gereklidir: SCRYPT,HMAC_SHA512,HMAC_SHA256,HMAC_SHA1veHMAC_MD5algoritmaları.
     Bu bağımsız değişken, base64 kodlu olarak biçimlendirilmelidir.
     dize. | 
| tuz ayırıcı | Şifre doğrulanırken takviye değere eklenecek tuz ayırıcı. . Tüm algoritmalar için isteğe bağlıdır. Bu bağımsız değişken base64 olarak kodlanmış dizeyi kullanın. | 
| raunt | Şifreler için karma oluşturma işlemi uygulamak üzere kullanılan yuvarlama sayısı. . Şunun için gereklidir: SCRYPT,MD5,SHA512,SHA256,SHA1,PBKDF_SHA1vePBKDF2_SHA256algoritma. | 
| mem-maliyet | Bu parametre, SCRYPTalgoritması VEYASTANDARD_SCRYPTalgoritması. | 
| paralel yapma | Karma oluşturma algoritmasının paralelleştirilmesi. . STANDARD_SCRYPTalgoritması için gereklidir. | 
| blok boyutu | Karma oluşturma algoritmasının blok boyutu (normalde 8'dir). . STANDARD_SCRYPTalgoritması için gereklidir. | 
| dk-len | Karma oluşturma algoritmasının türetilen anahtar uzunluğu. . STANDARD_SCRYPTalgoritması için gereklidir. | 
| karma-giriş-siparişi | Şifre ve takviye değer sırası. . Olası değerler: SALT_FIRSTvePASSWORD_FIRST. Bu işaret geçerli olur
    alıcı:SHA512,SHA256,SHA1,MD5,HMAC_SHA512,HMAC_SHA256,HMAC_SHA1veHMAC_MD5. | 
auth:dışa aktarma
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
| Parametreler | |
|---|---|
| hesap_dosyası | Dışa aktarılacak CSV veya JSON dosyası. Dosyayı inceleyin biçimindedir. | 
| dosya_biçimi | İsteğe bağlıdır. Dışa aktarılacak dosya biçimi: CSV veya JSON. . account_fileparametresinde belirtilen dosya adı bitiyorsa.csvveya.jsonile, bu biçim kullanılır ve bu
      parametresi yoksayılır. | 
Dosya biçimi
Kullanıcı hesabı dosyası, CSV veya JSON olarak biçimlendirilebilir.
CSV
CSV kullanıcı hesabı dosyası şu biçimdedir:
| Sütun numarası | Alan açıklaması | Alan türü | Yorumlar | 
|---|---|---|---|
| 1 | Benzersiz Kimlik | Dize | Zorunlu Bu kimlik, Firebase projelerinizdeki tüm hesaplar arasında benzersiz olmalıdır. Zaten UID'si olan bir hesabı içe aktarırsanız hesabın üzerine yazılır. | 
| 2 | E-posta | Dize | İsteğe bağlı | 
| 3 | E-posta Onaylandı | Boole | İsteğe bağlı | 
| 4 | Şifre Karması | Dize | İsteğe bağlı base64 kodlamalı bir dize. Bu alan, arayanın Düzenleyici veya Sahip rolüne sahip olmasını gerektirir. | 
| 5 | Şifre Tuzu | Dize | İsteğe bağlı base64 kodlamalı bir dize. Bu alan, arayanın Düzenleyici veya Sahip rolüne sahip olmasını gerektirir. | 
| 6 | Ad | Dize | İsteğe bağlı | 
| 7 | Fotoğraf URL'si | Dize | İsteğe bağlı | 
| 8 | Google kimliği | Dize | İsteğe bağlı | 
| 9 | Google E-posta | Dize | İsteğe bağlı | 
| 10 | Google Görünen Adı | Dize | İsteğe bağlı | 
| 11 | Google Fotoğraflar URL'si | Dize | İsteğe bağlı | 
| 12 | Facebook Kimliği | Dize | İsteğe bağlı | 
| 13 | Facebook E-posta Adresi | Dize | İsteğe bağlı | 
| 14 | Facebook Görünen Adı | Dize | İsteğe bağlı | 
| 15 | Facebook Fotoğrafı URL'si | Dize | İsteğe bağlı | 
| 16 | Twitter kimliği | Dize | İsteğe bağlı | 
| 17 | Twitter E-posta Adresi | Dize | İsteğe bağlı | 
| 18 | Twitter Görünen Adı | Dize | İsteğe bağlı | 
| 19 | Twitter Fotoğraf URL'si | Dize | İsteğe bağlı | 
| 20 | GitHub kimliği | Dize | İsteğe bağlı | 
| 21 | GitHub E-posta Adresi | Dize | İsteğe bağlı | 
| 22 | GitHub Görünen Adı | Dize | İsteğe bağlı | 
| 23 | GitHub Fotoğrafı URL'si | Dize | İsteğe bağlı | 
| 24 | Kullanıcı Oluşturma Zamanı | Uzun | İsteğe bağlı Milisaniye cinsinden Epoch Unix Zaman Damgası. | 
| 25 | Son Oturum Açma Zamanı | Uzun | İsteğe bağlı Milisaniye cinsinden Epoch Unix Zaman Damgası. | 
| 26 | Telefon Numarası | Dize | İsteğe bağlı | 
İsteğe bağlı bir değeri belirtmeden bırakırsanız yine de değer için boş bir alan. Boş alan, herhangi bir sayıda boşluk olabilir karakteri ekleyin.
Örneğin, aşağıdaki satır bir kullanıcı hesabını temsil eder:
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
JSON kullanıcı hesabı dosyası şu biçimdedir:
{
  "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
        },
        ...
      ]
    },
    ...
  ]
}PROVIDER_ID öğesini şu değerlerden biriyle değiştirin:
- google.com
- facebook.com
- github.com
- twitter.com