कस्टम प्रमाणीकरण प्रणाली का उपयोग करके फायरबेस के साथ प्रमाणित करें

जब उपयोगकर्ता सफलतापूर्वक साइन इन करता है तो कस्टम हस्ताक्षरित टोकन बनाने के लिए आप अपने प्रमाणीकरण सर्वर को संशोधित करके कस्टम प्रमाणीकरण प्रणाली के साथ फायरबेस प्रमाणीकरण को एकीकृत कर सकते हैं। आपका ऐप इस टोकन को प्राप्त करता है और फायरबेस के साथ प्रमाणित करने के लिए इसका उपयोग करता है।

शुरू करने से पहले

  1. यदि आपने पहले से ऐसा नहीं किया है, तो आरंभ करें मार्गदर्शिका में दिए गए चरणों का पालन करें.
  2. फायरबेस एडमिन एसडीके स्थापित और कॉन्फ़िगर करें । अपने Firebase प्रोजेक्ट के लिए सही क्रेडेंशियल के साथ SDK को इनिशियलाइज़ करना सुनिश्चित करें।

फायरबेस के साथ प्रमाणित करें

  1. जब उपयोगकर्ता आपके ऐप में साइन इन करते हैं, तो अपने प्रमाणीकरण सर्वर पर उनके साइन-इन क्रेडेंशियल (उदाहरण के लिए, उनका उपयोगकर्ता नाम और पासवर्ड) भेजें। आपका सर्वर क्रेडेंशियल की जांच करता है और, यदि वे मान्य हैं, तो एक कस्टम फ़ायरबेस टोकन बनाता है और टोकन को आपके ऐप पर वापस भेजता है।

  2. अपने प्रमाणीकरण सर्वर से कस्टम टोकन प्राप्त करने के बाद, उपयोगकर्ता में साइन इन करने के लिए इसे signInWithCustomToken() में पास करें:

    try {
        final userCredential =
            await FirebaseAuth.instance.signInWithCustomToken(token);
        print("Sign-in successful.");
    } on FirebaseAuthException catch (e) {
        switch (e.code) {
            case "invalid-custom-token":
                print("The supplied token is not a Firebase custom auth token.");
                break;
            case "custom-token-mismatch":
                print("The supplied token is for a different Firebase project.");
                break;
            default:
                print("Unkown error.");
        }
    }
    

अगले कदम

उपयोगकर्ता द्वारा एक नया खाता बनाने के बाद, यह खाता आपके फायरबेस प्रोजेक्ट के हिस्से के रूप में संग्रहीत किया जाता है, और इसका उपयोग आपके प्रोजेक्ट में प्रत्येक ऐप में उपयोगकर्ता की पहचान करने के लिए किया जा सकता है, भले ही उपयोगकर्ता ने किस साइन-इन विधि का उपयोग किया हो।

अपने ऐप्स में, आप User ऑब्जेक्ट से उपयोगकर्ता की मूल प्रोफ़ाइल जानकारी प्राप्त कर सकते हैं। उपयोगकर्ता प्रबंधित करें देखें।

अपने फायरबेस रीयलटाइम डेटाबेस और क्लाउड स्टोरेज सुरक्षा नियमों में, आप auth चर से साइन-इन किए गए उपयोगकर्ता की अद्वितीय उपयोगकर्ता आईडी प्राप्त कर सकते हैं, और इसका उपयोग यह नियंत्रित करने के लिए कर सकते हैं कि उपयोगकर्ता किस डेटा तक पहुंच सकता है।

आप किसी मौजूदा उपयोगकर्ता खाते से प्रमाणीकरण प्रदाता क्रेडेंशियल्स लिंक करके एकाधिक प्रमाणीकरण प्रदाताओं का उपयोग करके उपयोगकर्ताओं को अपने ऐप में साइन इन करने की अनुमति दे सकते हैं।

किसी उपयोगकर्ता को साइन आउट करने के लिए, signOut() पर कॉल करें:

await FirebaseAuth.instance.signOut();