पुष्टि करने वाले अपने सर्वर में बदलाव करके, Firebase से पुष्टि करने की सुविधा को कस्टम पुष्टि करने वाले सिस्टम के साथ इंटिग्रेट किया जा सकता है. ऐसा करने पर, किसी उपयोगकर्ता के सफलतापूर्वक साइन इन करने पर, कस्टम साइन किए गए टोकन जनरेट किए जा सकते हैं. आपका ऐप्लिकेशन यह टोकन लेता है और इसका इस्तेमाल, Firebase से पुष्टि करने के लिए करता है.
शुरू करने से पहले
- अगर आपने अब तक ऐसा नहीं किया है, तो शुरू करने के लिए बनी गाइड में दिए गए चरणों को पूरा करें.
- Firebase Admin SDK टूल इंस्टॉल और कॉन्फ़िगर करें. पक्का करें कि आपने SDK टूल को अपने Firebase प्रोजेक्ट के सही क्रेडेंशियल से शुरू किया हो.
Firebase से पुष्टि करना
जब उपयोगकर्ता आपके ऐप्लिकेशन में साइन इन करते हैं, तो उनके साइन-इन क्रेडेंशियल (उदाहरण के लिए, उनका उपयोगकर्ता नाम और पासवर्ड) पुष्टि करने वाले अपने सर्वर को भेजें. आपका सर्वर क्रेडेंशियल की जांच करता है. अगर वे मान्य हैं, तो वह Firebase का कस्टम टोकन बनाता है और उसे वापस आपके ऐप्लिकेशन को भेजता है.
पुष्टि करने वाले अपने सर्वर से कस्टम टोकन मिलने के बाद, उपयोगकर्ता को साइन इन करने के लिए, इसे
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("Unknown error."); } }
अगले चरण
नया खाता बनाने के बाद, यह खाता आपके Firebase प्रोजेक्ट के हिस्से के तौर पर सेव हो जाता है. इसका इस्तेमाल, आपके प्रोजेक्ट के हर ऐप्लिकेशन में किसी उपयोगकर्ता की पहचान करने के लिए किया जा सकता है. भले ही, उपयोगकर्ता ने साइन इन करने के लिए कोई भी तरीका इस्तेमाल किया हो.
अपने ऐप्लिकेशन में, User ऑब्जेक्ट से उपयोगकर्ता की बुनियादी प्रोफ़ाइल की जानकारी पाई जा सकती है. उपयोगकर्ताओं को मैनेज करने का तरीका देखें.
Firebase के रीयलटाइम डेटाबेस और Cloud Storage की सुरक्षा से जुड़े नियमों में, auth वैरिएबल से साइन इन किए गए उपयोगकर्ता का यूनीक आईडी पाया जा सकता है. इसका इस्तेमाल, यह कंट्रोल करने के लिए किया जा सकता है कि उपयोगकर्ता किस डेटा को ऐक्सेस कर सकता है.
किसी उपयोगकर्ता को साइन आउट करने के लिए, signOut() को कॉल करें:
await FirebaseAuth.instance.signOut();