auth:इंपोर्ट और पुष्टि:एक्सपोर्ट

  • 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-एन्कोडेड स्ट्रिंग के तौर पर फ़ॉर्मैट किया जाना चाहिए.
rounds पासवर्ड को हैश करने के लिए इस्तेमाल किए गए राउंड की संख्या.
SCRYPT, MD5, SHA512, SHA256, SHA1, PBKDF_SHA1, और PBKDF2_SHA256 एल्गोरिदम के लिए ज़रूरी है.
mem-cost यह पैरामीटर, SCRYPT एल्गोरिदम के लिए ज़रूरी मेमोरी लागत या STANDARD_SCRYPT एल्गोरिदम के लिए ज़रूरी सीपीयू/मेमोरी लागत की जानकारी दिखाता है.
साथ में चलाना हैशिंग एल्गोरिदम का पैरललाइज़ेशन.
STANDARD_SCRYPT एल्गोरिदम के लिए ज़रूरी है.
block-size हैशिंग एल्गोरिदम के ब्लॉक का साइज़ (आम तौर पर यह 8 होता है).
STANDARD_SCRYPT एल्गोरिदम के लिए ज़रूरी है.
dk-len हैशिंग एल्गोरिदम की बनाई गई कुंजी की लंबाई.
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 फ़ोटो URL स्ट्रिंग ज़रूरी नहीं
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