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