auth:Import और auth:export

  • auth:import कमांड, उपयोगकर्ता खातों को Firebase प्रोजेक्ट में इंपोर्ट करता है.

  • auth:export निर्देश, उपयोगकर्ता खातों को JSON और CSV फ़ाइलों में एक्सपोर्ट करता है.

पासवर्ड हैश पैरामीटर

आपके प्रोजेक्ट के लिए इस्तेमाल किए गए पासवर्ड हैश पैरामीटर तय करने के लिए, Firebase कंसोल के पुष्टि करें > उपयोगकर्ता सेक्शन पर जाएं और उपयोगकर्ताओं की सूची के ऊपर तीन बिंदु वाले आइकॉन पर क्लिक करें. आपको एक डायलॉग बॉक्स दिखेगा, जिसमें उन पासवर्ड हैश पैरामीटर की सूची होगी जिनका इस्तेमाल auth:import और auth:export कमांड के साथ किया जा सकता है:

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

ये वैल्यू संवेदनशील होती हैं, इसलिए इन्हें सावधानी से सेव करें. ज़्यादातर Firebase प्रोजेक्ट, SCRYPT का इस्तेमाल करते हैं. यह स्क्रिप्ट हैशिंग एल्गोरिदम का बदलाव किया गया वर्शन है. यह नए प्रोजेक्ट के लिए डिफ़ॉल्ट तौर पर सेट होता है.

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
पैरामीटर
account_file ऐसी CSV या JSON फ़ाइल जिसमें इंपोर्ट करने के लिए, उपयोगकर्ता खाते मौजूद होते हैं. फ़ाइल फ़ॉर्मैट देखें.
हैश-एल्गो उपयोगकर्ता खाते की फ़ाइल में पासवर्ड को हैश करने के लिए इस्तेमाल किया जाने वाला एल्गोरिदम.
पासवर्ड फ़ील्ड वाले खाते इंपोर्ट करने के लिए ज़रूरी है. इनमें से कोई एक वैल्यू: BCRYPT, SCRYPT, STANDARD_SCRYPT, HMAC_SHA512, HMAC_SHA256, HMAC_SHA1, HMAC_MD5, MD5, SHA512, SHA256, SHA1, PBKDF_SHA1, PBKDF2_SHA256.
हैश कुंजी पासवर्ड हैश करने के लिए इस्तेमाल की जाने वाली कुंजी.
SCRYPT, HMAC_SHA512, HMAC_SHA256, HMAC_SHA1, और HMAC_MD5 एल्गोरिदम के लिए ज़रूरी है. इस आर्ग्युमेंट को, base64 कोड में बदली गई स्ट्रिंग के तौर पर फ़ॉर्मैट करना ज़रूरी है.
सॉल्ट सेपरेटर सॉल्ट सेपरेटर, जिसे पासवर्ड की पुष्टि करते समय सॉल्ट में जोड़ा जाएगा.
सभी एल्गोरिदम के लिए ज़रूरी नहीं है. इस आर्ग्युमेंट को, base64 कोड में बदली गई स्ट्रिंग के तौर पर फ़ॉर्मैट करना ज़रूरी है.
राउंड पासवर्ड हैश करने के लिए इस्तेमाल किए जाने वाले राउंड की संख्या.
SCRYPT, MD5, SHA512, SHA256, SHA1, PBKDF_SHA1, और PBKDF2_SHA256 एल्गोरिदम के लिए ज़रूरी है.
एमईएम-लागत यह पैरामीटर या तो SCRYPT एल्गोरिदम के लिए ज़रूरी मेमोरी लागत या STANDARD_SCRYPT एल्गोरिदम के लिए ज़रूरी सीपीयू/मेमोरी कीमत दिखाता है.
साथ-साथ लोड होना हैशिंग एल्गोरिदम को साथ में चलाना.
STANDARD_SCRYPT एल्गोरिदम के लिए ज़रूरी है.
ब्लॉक-साइज़ हैशिंग एल्गोरिदम का ब्लॉक साइज़ (आम तौर पर 8 होता है).
STANDARD_SCRYPT एल्गोरिदम के लिए ज़रूरी है.
डीके-लेन हैशिंग एल्गोरिदम की व्युत्पन्न कुंजी की लंबाई.
STANDARD_SCRYPT एल्गोरिदम के लिए ज़रूरी है.
हैश-इनपुट-ऑर्डर पासवर्ड और सॉल्ट का क्रम.
संभावित वैल्यू SALT_FIRST और PASSWORD_FIRST हैं. यह फ़्लैग SHA512, SHA256, SHA1, MD5, HMAC_SHA512, HMAC_SHA256, HMAC_SHA1, और HMAC_MD5 पर लागू होता है.

auth:एक्सपोर्ट

firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
पैरामीटर
account_file वह CSV या JSON फ़ाइल जिसमें एक्सपोर्ट करना है. फ़ाइल फ़ॉर्मैट देखें.
file_format ज़रूरी नहीं. एक्सपोर्ट किया जाने वाला फ़ाइल फ़ॉर्मैट: CSV या JSON.
अगर account_file पैरामीटर में दी गई फ़ाइल का नाम .csv या .json पर खत्म होता है, तो उस फ़ॉर्मैट का इस्तेमाल किया जाता है और इस पैरामीटर को अनदेखा किया जाता है.

फ़ाइल फ़ॉर्मैट

उपयोगकर्ता खाते की फ़ाइल को CSV या JSON के तौर पर फ़ॉर्मैट किया जा सकता है.

CSV

CSV उपयोगकर्ता खाते की फ़ाइल का फ़ॉर्मैट ऐसा होता है:

कॉलम नंबर फ़ील्ड की जानकारी फ़ील्ड टाइप टिप्पणियां
1 UID स्ट्रिंग ज़रूरी
यह आईडी, आपके Firebase प्रोजेक्ट के सभी खातों से अलग होना चाहिए. अगर पहले से मौजूद यूआईडी वाला खाता इंपोर्ट किया जाता है, तो खाते को ओवरराइट कर दिया जाएगा.
2 ईमेल स्ट्रिंग ज़रूरी नहीं है
3 ईमेल सत्यापित हुआ बूलियन ज़रूरी नहीं है
4 पासवर्ड हैश स्ट्रिंग ज़रूरी नहीं है
base64 कोड में बदली गई स्ट्रिंग. इस फ़ील्ड में, कॉल करने वाले व्यक्ति के पास एडिटर या मालिक की भूमिका होनी चाहिए.
5 पासवर्ड सॉल्ट स्ट्रिंग ज़रूरी नहीं है
base64 कोड में बदली गई स्ट्रिंग. इस फ़ील्ड में, कॉल करने वाले व्यक्ति के पास एडिटर या मालिक की भूमिका होनी चाहिए.
6 नाम स्ट्रिंग ज़रूरी नहीं है
7 फ़ोटो का यूआरएल स्ट्रिंग ज़रूरी नहीं है
8 Google आईडी स्ट्रिंग ज़रूरी नहीं है
9 Google ईमेल स्ट्रिंग ज़रूरी नहीं है
10 Google का डिसप्ले नेम स्ट्रिंग ज़रूरी नहीं है
11 Google Photos का यूआरएल स्ट्रिंग ज़रूरी नहीं है
12 Facebook आईडी स्ट्रिंग ज़रूरी नहीं है
13 Facebook ईमेल स्ट्रिंग ज़रूरी नहीं है
14 Facebook का डिसप्ले नेम स्ट्रिंग ज़रूरी नहीं है
15 Facebook फ़ोटो का यूआरएल स्ट्रिंग ज़रूरी नहीं है
16 Twitter आईडी स्ट्रिंग ज़रूरी नहीं है
17 Twitter ईमेल स्ट्रिंग ज़रूरी नहीं है
18 Twitter का डिसप्ले नेम स्ट्रिंग ज़रूरी नहीं है
19 Twitter फ़ोटो का यूआरएल स्ट्रिंग ज़रूरी नहीं है
20 GitHub आईडी स्ट्रिंग ज़रूरी नहीं है
21 GitHub ईमेल स्ट्रिंग ज़रूरी नहीं है
22 GitHub का डिसप्ले नेम स्ट्रिंग ज़रूरी नहीं है
23 GitHub फ़ोटो का यूआरएल स्ट्रिंग ज़रूरी नहीं है
24 उपयोगकर्ता का बनाया हुआ समय ज़्यादा समय के लिए ज़रूरी नहीं
Epoch Unix टाइमस्टैंप मिलीसेकंड में.
25 अंतिम साइन-इन का समय ज़्यादा समय के लिए ज़रूरी नहीं
Epoch Unix टाइमस्टैंप मिलीसेकंड में.
26 फ़ोन नंबर स्ट्रिंग ज़रूरी नहीं है

अगर किसी वैकल्पिक वैल्यू को तय नहीं किया जाता है, तो पक्का करें कि आपने वैल्यू के लिए अब भी खाली फ़ील्ड शामिल किया हो. एक खाली फ़ील्ड में कितने भी स्पेस वर्ण हो सकते हैं.

उदाहरण के लिए, नीचे दी गई लाइन एक उपयोगकर्ता खाते के बारे में बताती है:

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 उपयोगकर्ता के खाते की फ़ाइल का फ़ॉर्मैट ऐसा होता है:

{
  "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 को इनमें से किसी एक वैल्यू से बदलें:

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