write:authentication वाला कंसोल सत्र चाहिए (या सूची देखने के लिए read:authentication)। ये कभी एंड-यूज़र टोकन या सत्यापन API कुंजी का उपयोग नहीं करते। उदाहरणों में MANAGEMENT_BASE यह है:
दो तरीकों से इंपोर्ट करें
फ़ाइल इंपोर्ट करें
1. अपलोड करें
हर
keep_* स्विच डिफ़ॉल्ट रूप से true होता है, जब तक आप false न भेजें। कॉल 202 और एक जॉब लौटाती है। एक एप्लिकेशन एक समय में अधिकतम 5 अपलोड की गई फ़ाइलें रख सकता है।
2. ड्राई रन की जाँच करें
हर अपलोड एक ड्राई रन से शुरू होता है। यह हर व्यक्ति की जाँच करता है और कुछ नहीं लिखता।GET import-jobs/{id}/ को पोल करें:
विफल ड्राई रन अपनी त्रुटियाँ सूचीबद्ध करता है। फ़ाइल ठीक करें और उसे फिर से अपलोड करें।
3. इंपोर्ट शुरू करें
POST import-jobs/{id}/start/ उस इंपोर्ट को करता है जिसे ड्राई रन ने जाँचा था, और 202 लौटाता है।
- लोगों को 1,000 के बैच में इंपोर्ट किया जाता है। हर बैच अलग से कमिट होता है।
- एक एप्लिकेशन पर एक समय में एक ही इंपोर्ट चलता है (अन्यथा
import_running)। - रुका हुआ इंपोर्ट अपने आखिरी कमिट किए गए बैच के बाद फिर से शुरू होता है।
- जो लोग पहले से इंपोर्ट हो चुके हैं, उन्हें छोड़ दिया जाता है, इसलिए आप वही फ़ाइल दोबारा चला सकते हैं।
- इंपोर्ट शुरू करने वाले व्यक्ति को इंपोर्ट पूरा होने या रुकने पर ईमेल मिलता है।
बैच में इंपोर्ट करें
हर अनुरोध में अधिकतम 1,000 लोग 100 अक्षरों तक केidempotency_key के साथ भेजें।
- ड्राई रन
200लौटाता है, परिणाम के साथ, और कुछ नहीं लिखता। dry_run: falseके साथ सफल इंपोर्ट201लौटाता है। जिस बैच में कोई भी त्रुटि हो, वह400लौटाता है और किसी को इंपोर्ट नहीं करता।- उसी कुंजी के साथ कमिट किया गया अनुरोध दोबारा भेजने पर उसका दर्ज परिणाम लौटता है। उसी कुंजी के साथ अलग सामग्री भेजने पर
400 {"idempotency_key": "different_payload"}लौटता है। - Firebase पैरामीटर
firebaseऑब्जेक्ट में जाते हैं:{signer_key, salt_separator, rounds, mem_cost}। GET imports/कमिट किए गए बैच की सूची देता है।
फ़ाइल प्रारूप
JSON
लोगों का एक ऐरे, या ऐसा ऑब्जेक्ट जिसकेusers में वह ऐरे हो।
CSV
वही एकल-मान वाले कॉलम, साथ मेंgoogle_id, apple_id, github_id, microsoft_id, microsoft_tenant_id, organization_slug, organization_name और organization_role। जो व्यक्ति कई संगठनों में है, उसके लिए हर संगठन की अलग पंक्ति होती है।
डुप्लीकेट और मौजूदा खाते
- एक ही ईमेल वाली पंक्तियाँ एक व्यक्ति बन जाती हैं। एक जैसी पंक्ति को डुप्लीकेट गिना जाता है। जिस पंक्ति में अधिक लिंक, संगठन या ऑथेंटिकेटर हों, उसे मर्ज किया जाता है।
- एक व्यक्ति के लिए दो अलग पासवर्ड हैश, ऑथेंटिकेटर सीक्रेट या संगठन भूमिकाएँ त्रुटियाँ हैं। किसी
external_idया provider subject पर दो लोगों का दावा होना भी त्रुटि है। - यदि उस ईमेल वाला खाता पहले से मौजूद है और किसी पिछले इंपोर्ट ने उसे बनाया था, तो व्यक्ति छोड़ दिया जाता है (
already_imported)। यदि व्यक्ति ने खुद साइन अप किया था, तो यहidentity_conflictत्रुटि है। इंपोर्ट कभी मौजूदा खाते को नहीं बदलता।
पासवर्ड
Firebase पैरामीटर उस एप्लिकेशन के लिए ही एन्क्रिप्ट करके संग्रहीत किए जाते हैं। कोई दूसरा प्रारूप, या इन सीमाओं से ऊपर की कॉस्ट, का अर्थ है कि उस व्यक्ति को नया पासवर्ड चाहिए। किसी व्यक्ति के पहले सफल साइन-इन के बाद, Didit उसका पासवर्ड अपने प्रारूप में फिर से संग्रहीत करता है।
ऐसे लोग जिनके पास उपयोग योग्य पासवर्ड नहीं है
जब किसी व्यक्ति के पास हैश नहीं होता या उसका हैश समर्थित नहीं होता, तब पासवर्ड से प्रयास करने पर सामान्य ‘गलत पासवर्ड’ उत्तर मिलता है। Didit उन्हें नया पासवर्ड सेट करने के लिए एक लिंक ईमेल भी करता है (30 मिनट के लिए वैध, दिन में अधिकतम एक बार)। यह तभी होता है जब उनका ईमेल सत्यापित हो, खाता ब्लॉक न हो और पासवर्ड साइन-इन चालू हो। परिणाम में,reset_required उन लोगों की गिनती करता है जिनके पास उपयोग योग्य पासवर्ड नहीं है। reset_emails उनमें से उन लोगों की गिनती करता है जिनका ईमेल सत्यापित है: केवल उन्हीं तक इस तरीके से पहुँचा जा सकता है। जिन लोगों का ईमेल सत्यापित नहीं है, वे पासवर्ड से साइन इन नहीं कर सकते। अगर आप वह तरीका चालू करते हैं, तो वे ईमेल कोड से अब भी साइन इन कर सकते हैं।
सोशल लिंक, ऑथेंटिकेटर और संगठन
- सोशल लिंक उन प्रदाताओं के लिए रखे जाते हैं जिन्हें आपका एप्लिकेशन पहले से कॉन्फ़िगर कर चुका है, उसके मौजूदा क्लाइंट ID के अंतर्गत। इसके बाद किए जाने वाले साइन-इन में ईमेल प्रमाण की ज़रूरत नहीं होती। Google और GitHub सब्जेक्ट वैश्विक हैं। Apple सब्जेक्ट हर डेवलपर टीम के लिए अलग होते हैं और Microsoft सब्जेक्ट हर ऐप रजिस्ट्रेशन के लिए अलग, इसलिए ये लिंक तभी मेल खाते हैं जब आपके पुराने प्लेटफ़ॉर्म में वही टीम या रजिस्ट्रेशन इस्तेमाल हुआ हो। जिन प्रदाताओं को आपने कॉन्फ़िगर नहीं किया है, उनके लिंक
social_unavailableके रूप में गिने जाते हैं और इंपोर्ट नहीं होते। - ऑथेंटिकेटर ऐप (TOTP सीक्रेट: SHA-1, 6 अंक, 30 सेकंड) एन्क्रिप्टेड रूप में संग्रहीत होते हैं। इंपोर्ट किए गए लोगों को इन्हें अपने दूसरे कारक के रूप में इस्तेमाल करना होगा। उन्हें कोई रिकवरी कोड नहीं मिलते।
- संगठन जो अभी मौजूद नहीं हैं, उनके स्लग से बनाए जाते हैं।
- पासकीज़ इंपोर्ट नहीं की जा सकतीं। वे आपके पुराने साइन-इन डोमेन से जुड़ी होती हैं, इसलिए लोग Didit से साइन इन करने के बाद नई पासकी जोड़ते हैं।
परिणाम
हर ड्राई रन, बैच और जॉब एक हीresult लौटाता है:
प्रतिक्रियाओं में कभी पासवर्ड हैश, सॉल्ट, ऑथेंटिकेटर सीक्रेट या फ़ील्ड मान शामिल नहीं होते।
स्विच करने से पहले
अपने सैंडबॉक्स एप्लिकेशन में परीक्षण करें:- इंपोर्ट किए जाने वाले प्रत्येक पासवर्ड प्रारूप से साइन इन,
- उस व्यक्ति के लिए नया पासवर्ड सेट करने वाला ईमेल जिसके पास उपयोग योग्य हैश नहीं है,
- इंपोर्ट किए गए लोगों के लिए सोशल साइन-इन और ऑथेंटिकेटर कोड,
- एक ही फ़ाइल को दो बार चलाना।
vendor_data उस मान से मेल खाता है जिसे आप उनके सत्यापन और लेन-देन के लिए उपयोग करते हैं।