JavaScript का इस्तेमाल करके, पासवर्ड पर आधारित खातों का इस्तेमाल करके Firebase की मदद से पुष्टि करें

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

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

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

पासवर्ड पर आधारित खाता बनाना

पासवर्ड वाला नया उपयोगकर्ता खाता बनाने के लिए, अपने ऐप्लिकेशन के साइन-अप पेज पर दिया गया तरीका अपनाएं:

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

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

    import { getAuth, createUserWithEmailAndPassword } from "firebase/auth";
    
    const auth = getAuth();
    createUserWithEmailAndPassword(auth, email, password)
      .then((userCredential) => {
        // Signed up 
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ..
      });

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

    firebase.auth().createUserWithEmailAndPassword(email, password)
      .then((userCredential) => {
        // Signed in 
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ..
      });
    अगर नया खाता बनाया गया था, तो उपयोगकर्ता अपने-आप साइन इन हो जाता है. साइन इन किए हुए उपयोगकर्ता की जानकारी पाने के लिए, नीचे दिया गया 'अगले चरण' सेक्शन देखें.

    यहां पर गड़बड़ियों का पता लगाकर उन्हें ठीक भी किया जा सकता है. गड़बड़ी कोड की सूची के लिए, आधिकारिक रेफ़रंस दस्तावेज़ पर एक नज़र डालें.

ईमेल पते और पासवर्ड वाले उपयोगकर्ता खाते में साइन इन करें

पासवर्ड से उपयोगकर्ता में साइन इन करने के चरण, नया खाता बनाने के चरणों जैसे ही हैं. अपने ऐप्लिकेशन के साइन-इन पेज में, ये काम करें:

  1. जब कोई उपयोगकर्ता आपके ऐप्लिकेशन में साइन इन करता है, तो उपयोगकर्ता के ईमेल पते और पासवर्ड को signInWithEmailAndPassword को भेजें:

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

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

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

    firebase.auth().signInWithEmailAndPassword(email, password)
      .then((userCredential) => {
        // Signed in
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
      });
    साइन इन किए हुए उपयोगकर्ता की जानकारी पाने के लिए, नीचे दिया गया 'अगले चरण' सेक्शन देखें.

    यहां पर गड़बड़ियों का पता लगाकर उन्हें ठीक भी किया जा सकता है. गड़बड़ी कोड की सूची के लिए, आधिकारिक रेफ़रंस दस्तावेज़ पर एक नज़र डालें.

सुझाया गया: ईमेल गिनती सुरक्षा चालू करें

Firebase से पुष्टि करने के कुछ तरीके, ईमेल पतों को पैरामीटर के तौर पर लेते हैं. अगर किसी ईमेल पते को रजिस्टर नहीं किया गया है (उदाहरण के लिए, ईमेल पते और पासवर्ड से साइन इन करते समय) या इस्तेमाल न होने पर (उदाहरण के लिए, उपयोगकर्ता का ईमेल पता बदलते समय) तब रजिस्टर किया जाता है, जब उसे पैरामीटर के तौर पर इस्तेमाल किया जाता है. यह लोगों को खास तरीकों का सुझाव देने में मददगार हो सकता है. हालांकि, नुकसान पहुंचाने वाले लोग या ग्रुप आपके उपयोगकर्ताओं के रजिस्टर किए गए ईमेल पते खोजकर भी इसका गलत इस्तेमाल कर सकते हैं.

इस जोखिम को कम करने के लिए, हमारा सुझाव है कि आप Google Cloud gcloud टूल का इस्तेमाल करके, अपने प्रोजेक्ट के लिए ईमेल की गिनती करने की सुरक्षा चालू करें. ध्यान दें कि इस सुविधा को चालू करने से, Firebase से पुष्टि करने की सुविधा में गड़बड़ी की शिकायत करने का तरीका बदल जाता है: पक्का करें कि आपका ऐप्लिकेशन ज़्यादा खास गड़बड़ियों पर निर्भर न रहें.

अगले चरण

जब कोई उपयोगकर्ता पहली बार साइन इन करता है, तो एक नया उपयोगकर्ता खाता बनाया जाता है और उपयोगकर्ता के क्रेडेंशियल से लिंक किया जाता है. इन क्रेडेंशियल में उपयोगकर्ता नाम और पासवर्ड, फ़ोन नंबर या पुष्टि करने वाली सेवा की जानकारी शामिल है. यह नया खाता आपके 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.
});