कस्टम पुष्टि करने वाले सिस्टम का इस्तेमाल करके, JavaScript में Firebase की मदद से पुष्टि करें

Firebase Authentication को पसंद के मुताबिक बनाए गए पुष्टि करने वाले सिस्टम के साथ इंटिग्रेट किया जा सकता है. इसके लिए, आपको पुष्टि करने वाले सर्वर में बदलाव करना होगा, ताकि जब कोई उपयोगकर्ता सफलतापूर्वक साइन इन करे, तो वह पसंद के मुताबिक साइन किए गए टोकन जनरेट कर सके. आपका ऐप्लिकेशन इस टोकन को पाता है और इसका इस्तेमाल Firebase के साथ पुष्टि करने के लिए करता है.

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

  1. अपने JavaScript प्रोजेक्ट में Firebase जोड़ें.
  2. अपने प्रोजेक्ट की सर्वर कुंजियां पाएं:
    1. Firebase कंसोल में, सेटिंग > सेवा खाते टैब पर जाएं.
    2. Firebase Admin SDK सेक्शन में सबसे नीचे, नई निजी कुंजी जनरेट करें पर क्लिक करें.
    3. नए सेवा खाते के सार्वजनिक/निजी पासकोड की जोड़ी, आपके कंप्यूटर पर अपने-आप सेव हो जाती है. इस फ़ाइल को अपने पुष्टि करने वाले सर्वर पर कॉपी करें.

Firebase की मदद से पुष्टि करना

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

    Web

    import { getAuth, signInWithCustomToken } from "firebase/auth";
    
    const auth = getAuth();
    signInWithCustomToken(auth, token)
      .then((userCredential) => {
        // Signed in
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ...
      });

    Web

    firebase.auth().signInWithCustomToken(token)
      .then((userCredential) => {
        // Signed in
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });

अगले चरण

जब कोई उपयोगकर्ता पहली बार साइन इन करता है, तो एक नया उपयोगकर्ता खाता बनता है. यह खाता, उस क्रेडेंशियल से लिंक होता है जिससे उपयोगकर्ता ने साइन इन किया है. जैसे, उपयोगकर्ता का नाम और पासवर्ड, फ़ोन नंबर या पुष्टि करने वाली कंपनी की जानकारी. यह नया खाता, आपके Firebase प्रोजेक्ट के हिस्से के तौर पर सेव किया जाता है. इसका इस्तेमाल, आपके प्रोजेक्ट के हर ऐप्लिकेशन में किसी उपयोगकर्ता की पहचान करने के लिए किया जा सकता है. इससे कोई फ़र्क़ नहीं पड़ता कि उपयोगकर्ता ने किस तरह से साइन इन किया है.

  • अपने ऐप्लिकेशन में, उपयोगकर्ता की पुष्टि की स्थिति जानने के लिए, हमारा सुझाव है कि आप Auth ऑब्जेक्ट पर एक ऑब्ज़र्वर सेट करें. इसके बाद, User ऑब्जेक्ट से उपयोगकर्ता की बुनियादी प्रोफ़ाइल की जानकारी पाई जा सकती है. उपयोगकर्ताओं को मैनेज करना लेख पढ़ें.

  • Firebase Realtime Database और Cloud Storage सुरक्षा के नियमों में, auth वैरिएबल से साइन इन किए हुए उपयोगकर्ता का यूनीक User-ID पाया जा सकता है. साथ ही, इसका इस्तेमाल यह कंट्रोल करने के लिए किया जा सकता है कि कोई उपयोगकर्ता किस डेटा को ऐक्सेस कर सकता है.

उपयोगकर्ताओं को, पुष्टि करने वाले कई प्रोवाइडर का इस्तेमाल करके आपके ऐप्लिकेशन में साइन इन करने की अनुमति दी जा सकती है. इसके लिए, पुष्टि करने वाले प्रोवाइडर के क्रेडेंशियल को किसी मौजूदा उपयोगकर्ता खाते से लिंक करें.

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

Web

import { getAuth, signOut } from "firebase/auth";

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

Web

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});