auth:içe aktarma ve auth:dışa aktarma

  • auth:import komutu, kullanıcı hesaplarını Firebase projelerine aktarır.

  • auth:export komutu, kullanıcı hesaplarını JSON ve CSV dosyalarına aktarır.

Şifre karması parametreleri

Projenizde kullanılan şifre karması parametrelerini belirlemek için Firebase konsolunun Kimlik Doğrulama > Kullanıcılar bölümüne gidin ve kullanıcı listesinin üzerindeki üç nokta simgesini tıklayın. auth:import ve auth:export komutlarıyla kullanabileceğiniz şifre karması parametrelerinin listesini içeren bir iletişim kutusu görürsünüz:

hash_config {
  algorithm: SCRYPT,
  base64_signer_key: <...sensitive...>,
  base64_salt_separator: <...sensitive...>,
  rounds: 8,
  mem_cost: 14,
}

Bu değerler hassas olduğu için dikkatli bir şekilde saklayın. Çoğu Firebase projesi, yeni projeler için varsayılan olan şifreleme karma algoritmasının değiştirilmiş bir sürümü olan SCRYPT kullanır.

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
Parametreler
account_file İçe aktarılacak kullanıcı hesaplarını içeren CSV veya JSON dosyası. Dosya biçimi bölümünü inceleyin.
karma-algo Kullanıcı hesabı dosyasındaki şifrelere karma oluşturma işlemi uygulamak için kullanılan algoritma.
Şifre alanları bulunan hesapları içe aktarmak için gereklidir. Aşağıdaki değerlerden biri: BCRYPT, SCRYPT, STANDARD_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.
SCRYPT, HMAC_SHA512, HMAC_SHA256, HMAC_SHA1 ve HMAC_MD5 algoritmaları için gereklidir. Bu bağımsız değişken base64 kodlu bir dize olarak biçimlendirilmelidir.
tuz ayırıcı Şifreyi doğrularken 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 kodlu bir dize olarak biçimlendirilmelidir.
rounds Şifrelere karma oluşturma işlemi uygulamak için kullanılan tur sayısı.
SCRYPT, MD5, SHA512, SHA256, SHA1, PBKDF_SHA1 ve PBKDF2_SHA256 algoritmaları için gereklidir.
mem-cost Bu parametre, SCRYPT algoritması için gereken bellek maliyetini VEYA STANDARD_SCRYPT algoritması için gereken CPU/bellek maliyetini temsil eder.
paralel yapma Karma oluşturma algoritmasının paralel yapılması.
STANDARD_SCRYPT algoritması için gereklidir.
block-size Karma oluşturma algoritmasının blok boyutu (normalde 8'dir).
STANDARD_SCRYPT algoritması için gereklidir.
dk-len Karma oluşturma algoritmasının türetilen anahtar uzunluğu.
STANDARD_SCRYPT algoritması için gereklidir.
karma-giriş-sırası Şifrenin ve güvenlik değerinin sırası.
Olası değerler SALT_FIRST ve PASSWORD_FIRST'dir. Bu işaret SHA512, SHA256, SHA1, MD5, HMAC_SHA512, HMAC_SHA256, HMAC_SHA1 ve HMAC_MD5 için geçerlidir.

auth:dışa aktarma

firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
Parametreler
account_file Dışa aktarılacak CSV veya JSON dosyası. Dosya biçimi bölümünü inceleyin.
file_format İsteğe bağlı. Dışa aktarılacak dosya biçimi: CSV veya JSON.
account_file parametresinde belirtilen dosya adı .csv veya .json ile bitiyorsa bu biçim kullanılır ve bu parametre yok sayı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ü Yorum sayısı
1 UID Dize Zorunlu
Bu kimlik, Firebase projelerinizdeki tüm hesaplar için benzersiz olmalıdır. 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 Doğrulandı Boole İsteğe bağlı
4 Şifre Karması Dize İsteğe bağlı
base64 kodlu bir dize. Bu alan, arayanın Düzenleyici veya Sahip rolüne sahip olmasını gerektirir.
5 Şifre Koruması Dize İsteğe bağlı
base64 kodlu 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 URL'si Dize İsteğe bağlı
12 Facebook Kimliği Dize İsteğe bağlı
13 Facebook E-postası 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-postası 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-postası 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 değer için yine de boş bir alan eklediğinizden emin olun. Boş bir alan, herhangi bir sayıda boşluk karakterinden oluşabilir.

Ö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 değerini aşağıdaki değerlerden biriyle değiştirin:

  • google.com
  • facebook.com
  • github.com
  • twitter.com