Firebase Auth और रीयल-टाइम database applications · पाठ

फ़ोन नंबर प्रमाणीकरण

सुरक्षित उपयोगकर्ता पहुँच के लिए SMS सत्यापन का उपयोग करके विश्वसनीय फ़ोन नंबर प्रमाणीकरण लागू करें

पाठ 1, कुल 4 में से11 चरण

फ़ोन नंबर प्रमाणीकरण, CoddyKit पर Firebase Auth और रीयल-टाइम database applications का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Firebase Auth और रीयल-टाइम database applications सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

फ़ोन नंबर से सुरक्षित लॉगिन

फ़ोन नंबर प्रमाणीकरण उपयोगकर्ताओं को अपने मोबाइल फ़ोन नंबर से आपके ऐप में साइन-इन करने देता है। यह एक सुरक्षित और सुविधाजनक विधि है, विशेष रूप से उन उपयोगकर्ताओं के लिए जो पारंपरिक ईमेल/पासवर्ड अकाउंट बनाना या सोशल लॉगिन का उपयोग करना पसंद नहीं करते।

  • सुलभता: कई उपयोगकर्ताओं को इसका उपयोग आसान लगता है।
  • सुरक्षा: सत्यापन के लिए SMS का उपयोग करके सुरक्षा की एक अतिरिक्त परत जोड़ता है।
  • पासवर्ड की आवश्यकता नहीं: पासवर्ड से जुड़ी परेशानी और पासवर्ड भूलने की समस्याएँ कम करता है।

फ़ोन प्रमाणीकरण सक्षम करना

अपने ऐप में फ़ोन नंबर प्रमाणीकरण का उपयोग करने से पहले, आपको इसे अपने Firebase प्रोजेक्ट की सेटिंग में सक्षम करना होगा।

  1. Firebase कंसोल पर जाएँ।
  2. Authentication > Sign-in method पर जाएँ।
  3. Phone प्रदाता को सक्षम करें।
  4. वैकल्पिक रूप से, परीक्षण के लिए अनुमत फ़ोन नंबर निर्दिष्ट करें।

इस चरण से Firebase को पता चलता है कि आपका प्रोजेक्ट फ़ोन साइन-इन का समर्थन करेगा।

क्लाइंट-साइड तैयारी

फ़ोन प्रमाणीकरण का उपयोग करने के लिए आपके क्लाइंट-साइड ऐप्लिकेशन को सही ढंग से सेट अप करना आवश्यक है। इसमें अक्सर यह सत्यापित करने के लिए विशेष तंत्र शामिल होते हैं कि उपयोगकर्ता बॉट नहीं है।

  • वेब: दुरुपयोग से सुरक्षा के लिए आपको RecaptchaVerifier का उपयोग करना होगा।
  • Android: Firebase डिवाइस सत्यापन के लिए SafetyNet का उपयोग करता है।
  • iOS: Firebase डिवाइस सत्यापन के लिए DeviceCheck का उपयोग करता है।

ये जाँच सुनिश्चित करती हैं कि फ़ोन नंबर सत्यापन अनुरोध वास्तविक ऐप इंस्टेंस से आ रहे हैं।

सत्यापन प्रक्रिया

फ़ोन नंबर प्रमाणीकरण प्रक्रिया आमतौर पर इन चरणों का पालन करती है:

  1. उपयोगकर्ता आपके ऐप में अपना फ़ोन नंबर दर्ज करता है।
  2. आपका ऐप Firebase से उस नंबर पर SMS के माध्यम से सत्यापन कोड भेजने का अनुरोध करता है।
  3. Firebase SMS भेजता है और आपके ऐप को एक confirmationResult ऑब्जेक्ट लौटाता है।
  4. उपयोगकर्ता को SMS मिलता है और वह कोड आपके ऐप में दर्ज करता है।
  5. उपयोगकर्ता का साइन-इन कराने के लिए आपका ऐप confirmationResult और SMS कोड का उपयोग करता है।

आइए देखें कि इसे कैसे लागू किया जाता है।

फ़ोन सत्यापन शुरू करना (वेब)

वेब पर आप firebase.auth().signInWithPhoneNumber() का उपयोग करेंगे। इसके लिए फ़ोन नंबर और RecaptchaVerifier इंस्टेंस आवश्यक है। अगले चरण के लिए confirmationResult बहुत महत्वपूर्ण है।

/* Assuming Firebase SDK is initialized and 'auth' is firebase.auth() */

// 1. Prepare reCAPTCHA verifier (invisible is common for better UX)
const appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container', {
  'size': 'invisible',
  'callback': (response) => {
    // reCAPTCHA solved, now signInWithPhoneNumber can proceed
    console.log('reCAPTCHA solved!');
  }
});

// 2. Send the verification code
function sendVerificationCode(phoneNumber) {
  firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
    .then((confirmationResult) => {
      // SMS sent. Save this object globally to confirm the code later.
      window.confirmationResult = confirmationResult;
      console.log('Verification code sent to ' + phoneNumber);
    }).catch((error) => {
      console.error('Error sending SMS:', error.message);
    });
}

// Example usage (in a real app, this would be triggered by a button click)
// sendVerificationCode('+15551234567');
console.log("Function 'sendVerificationCode' defined. Call it with a phone number (e.g., sendVerificationCode('+15551234567')) to try.");

reCAPTCHA से सुरक्षा

वेब ऐप्लिकेशन के लिए Firebase Phone Auth में दुरुपयोग रोकने हेतु reCAPTCHA सत्यापन आवश्यक है, जैसे SMS संदेश भेजने का प्रयास करने वाले स्वचालित बॉट।

  • आपको एक विशिष्ट ID वाला HTML एलिमेंट, जैसे div, चाहिए (उदाहरण के लिए 'recaptcha-container'), जहाँ reCAPTCHA रेंडर हो सके, भले ही वह अदृश्य हो।
  • RecaptchaVerifier चुनौती को संभालता है। इसके हल हो जाने पर कॉलबैक ट्रिगर होता है और signInWithPhoneNumber आगे बढ़ सकता है।

वेब क्लाइंट के लिए यह एक महत्वपूर्ण सुरक्षा उपाय है।

SMS कोड की पुष्टि करना

उपयोगकर्ता को SMS कोड मिलने और उसके दर्ज करने के बाद, आप कोड का सत्यापन करने और साइन-इन पूरा करने के लिए पिछले चरण में सहेजे गए confirmationResult ऑब्जेक्ट का उपयोग करते हैं।

/* Assuming 'window.confirmationResult' holds the object from signInWithPhoneNumber */

function verifySmsCode(smsCode) {
  if (window.confirmationResult) {
    window.confirmationResult.confirm(smsCode)
      .then((result) => {
        // User signed in successfully!
        const user = result.user;
        console.log('User signed in with phone number:', user.phoneNumber);
        console.log('User UID:', user.uid);
      }).catch((error) => {
        // User couldn't sign in (e.g., invalid code)
        console.error('Error verifying SMS code:', error.message);
      });
  } else {
    console.error('No confirmationResult found. Send SMS first!');
  }
}

// Example usage (in a real app, this would be triggered by a button click)
// verifySmsCode('123456'); // Replace with the actual code received via SMS
console.log("Function 'verifySmsCode' defined. Call it with an SMS code (e.g., verifySmsCode('123456')) after sending a verification code.");

उपयोगकर्ता की जानकारी प्राप्त करना

फ़ोन नंबर से सफलतापूर्वक साइन-इन करने के बाद, उपयोगकर्ता की जानकारी firebase.auth().currentUser ऑब्जेक्ट के माध्यम से उपलब्ध होती है, ठीक अन्य प्रमाणीकरण विधियों की तरह।

  • आप उनके uid, phoneNumber और प्रोफ़ाइल की अन्य जानकारी प्राप्त कर सकते हैं।
  • अपने पूरे ऐप में उपयोगकर्ता की लॉगिन स्थिति पर नज़र रखने के लिए onAuthStateChanged लिसनर का उपयोग करें।

इससे आप सामग्री को उपयोगकर्ता के अनुरूप बना सकते हैं और उपयोगकर्ता सत्र प्रबंधित कर सकते हैं।

सामान्य त्रुटियों को संभालना

अच्छा उपयोगकर्ता अनुभव देने के लिए त्रुटियों का पहले से अनुमान लगाना और उन्हें उचित रूप से संभालना महत्वपूर्ण है। फ़ोन प्रमाणीकरण में होने वाली कुछ सामान्य त्रुटियाँ ये हैं:

  • auth/invalid-phone-number: दिया गया फ़ोन नंबर मान्य नहीं है।
  • auth/missing-verification-code: उपयोगकर्ता ने कोड दर्ज नहीं किया या वह खाली था।
  • auth/invalid-verification-code: दर्ज किया गया SMS कोड गलत है।
  • auth/captcha-check-failed: reCAPTCHA सत्यापन विफल रहा (वेब)।
  • auth/too-many-requests: एक ही डिवाइस/IP से बहुत अधिक सत्यापन प्रयास किए गए।

इन त्रुटियों के लिए हमेशा उपयोगकर्ता के अनुकूल संदेश दिखाएँ।

अपना ज्ञान जाँचें

वेब ऐप्लिकेशन में फ़ोन नंबर प्रमाणीकरण के लिए निम्नलिखित में से क्या REQUIRED है?

फ़ोन प्रमाणीकरण का सारांश

आपने Firebase के साथ फ़ोन नंबर प्रमाणीकरण लागू करना सीख लिया है!

  • Firebase कंसोल में प्रदाता सक्षम करें।
  • क्लाइंट-साइड जाँच सेट अप करें (वेब के लिए reCAPTCHA)।
  • signInWithPhoneNumber() से सत्यापन शुरू करें।
  • confirmationResult का उपयोग करके SMS कोड की पुष्टि करें।
  • विभिन्न त्रुटि स्थितियों को उचित रूप से संभालें।

फ़ोन प्रमाणीकरण आपके उपयोगकर्ताओं के लिए सुरक्षा और सुविधा का अच्छा संतुलन प्रदान करता है। अपने प्रोजेक्ट में इसे लागू करने का अभ्यास करें!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Firebase Auth और रीयल-टाइम database applications सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
11
पाठ
44

अक्सर पूछे जाने वाले प्रश्न

क्या “फ़ोन नंबर प्रमाणीकरण” पाठ निःशुल्क है?

हाँ — Firebase Auth और रीयल-टाइम database applications अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “फ़ोन नंबर प्रमाणीकरण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“फ़ोन नंबर प्रमाणीकरण” में मैं क्या सीखूँगा?

सुरक्षित उपयोगकर्ता पहुँच के लिए SMS सत्यापन का उपयोग करके विश्वसनीय फ़ोन नंबर प्रमाणीकरण लागू करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Firebase Auth और रीयल-टाइम database applications का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Firebase Auth और रीयल-टाइम database applications शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Firebase Auth और रीयल-टाइम database applications शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“फ़ोन नंबर प्रमाणीकरण” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Firebase Auth और रीयल-टाइम database applications पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Firebase Auth और रीयल-टाइम database applications पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. फ़ोन नंबर प्रमाणीकरण
  2. बहु-कारक प्रमाणीकरण (MFA)
  3. कस्टम दावे और सुरक्षा नियम
  4. खाता लिंक करना और प्रदाता प्रबंधन
← Firebase Auth और रीयल-टाइम database applications पर वापस जाएँ