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

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

वेब कंटेनर इंस्टॉल करने से पहले

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

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

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

    वेब मॉड्यूलर एपीआई

    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;
        // ...
      });

    वेब नेमस्पेसेड एपीआई

    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 रीयल टाइम डेटाबेस और Cloud Storage के सुरक्षा नियमों में, auth वैरिएबल से साइन-इन किए हुए उपयोगकर्ता का यूनीक यूज़र आईडी पाया जा सकता है और उसका इस्तेमाल करके यह कंट्रोल किया जा सकता है कि उपयोगकर्ता कौनसा डेटा ऐक्सेस कर सकता है.

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

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

वेब मॉड्यूलर एपीआई

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

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

वेब नेमस्पेसेड एपीआई

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