auth:içe aktarma ve auth:export

  • 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österilir:

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, şifre karma oluşturma algoritmasının değiştirilmiş bir sürümü olan ve yeni projeler için varsayılan olarak SCRYPT kullanı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ı. 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ı olan hesapları içe aktarmak için gereklidir. Şu 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 dize olarak biçimlendirilmelidir.
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 kodlu bir dize olarak biçimlendirilmelidir.
raunt Şifreler için karma oluşturma işlemi uygulamak üzere kullanılan yuvarlama sayısı.
SCRYPT, MD5, SHA512, SHA256, SHA1, PBKDF_SHA1 ve PBKDF2_SHA256 algoritmaları için gereklidir.
mem-maliyet Bu parametre, SCRYPT algoritması için gerekli bellek maliyetini VEYA STANDARD_SCRYPT algoritması için gereken CPU/bellek maliyetini temsil eder.
paralel yapma Karma oluşturma algoritmasının paralelleştirilmesi.
STANDARD_SCRYPT algoritması için gereklidir.
blok boyutu 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ş-siparişi Şifre ve takviye değer sırası.
Olası değerler: SALT_FIRST ve PASSWORD_FIRST. 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
hesap_dosyası Dışa aktarılacak CSV veya JSON dosyası. Dosya biçimi bölümünü inceleyin.
dosya_biçimi İsteğe bağlıdır. 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 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ü Yorum sayısı
1 UID 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ı
CANNOT TRANSLATE 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ı
CANNOT TRANSLATE 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 değer için boş bir alan eklediğinizden emin olun. Boş bir alan, herhangi bir sayıda boşluk karakteri olabilir.

Ö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