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

Firebase से पुष्टि करने की सुविधा का इस्तेमाल करके, उपयोगकर्ता के फ़ोन पर एसएमएस भेजकर साइन इन किया जा सकता है. उपयोगकर्ता, एसएमएस मैसेज में मौजूद एक बार इस्तेमाल होने वाले कोड का इस्तेमाल करके साइन इन करता है.

अपने ऐप्लिकेशन में फ़ोन नंबर साइन-इन जोड़ने का सबसे आसान तरीका है FirebaseUI का इस्तेमाल करना. इसमें ड्रॉप-इन साइन-इन विजेट शामिल है, जो फ़ोन नंबर साइन-इन के साथ-साथ पासवर्ड-आधारित और फ़ेडरेटेड साइन-इन के लिए साइन-इन फ़्लो लागू करता है. इस दस्तावेज़ में बताया गया है कि Firebase SDK टूल का इस्तेमाल करके, फ़ोन नंबर साइन-इन फ़्लो को कैसे लागू किया जाता है.

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

अगर आपने पहले से ऐसा नहीं किया है, तो Firebase कंसोल से, शुरू करने वाले स्निपेट को अपने प्रोजेक्ट में कॉपी करें. ऐसा करने के लिए, अपने JavaScript प्रोजेक्ट में Firebase जोड़ना लेख में दिया गया तरीका अपनाएं.

सुरक्षा से जुड़ी समस्याएं

सिर्फ़ फ़ोन नंबर का इस्तेमाल करके पुष्टि करना, जबकि दूसरे उपलब्ध तरीकों की तुलना में कम सुरक्षित है, क्योंकि एक फ़ोन नंबर होना एक उपयोगकर्ता के बीच आसानी से ट्रांसफ़र किया जा सकता है. साथ ही, एक से ज़्यादा उपयोगकर्ता प्रोफ़ाइल वाले डिवाइस पर, एसएमएस पाने वाला कोई भी उपयोगकर्ता डिवाइस के फ़ोन नंबर का इस्तेमाल करके खाते में साइन इन कर सकता है.

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

अपने Firebase प्रोजेक्ट के लिए, फ़ोन नंबर पर साइन इन करने की सुविधा चालू करें

अगर आपको मैसेज (एसएमएस) के ज़रिए उपयोगकर्ताओं के खाते में साइन इन करना है, तो आपको सबसे पहले अपने Firebase प्रोजेक्ट के लिए फ़ोन नंबर में साइन इन करने का तरीका चालू करना होगा:

  1. Firebase कंसोल में, पुष्टि करने की सुविधा सेक्शन खोलें.
  2. साइन इन करने का तरीका पेज पर, फ़ोन नंबर से साइन इन करने का तरीका चालू करें.
  3. उसी पेज पर, अगर आपके ऐप्लिकेशन को होस्ट करने वाला डोमेन, OAuth रीडायरेक्ट डोमेन सेक्शन में शामिल नहीं है, तो अपना डोमेन जोड़ें. ध्यान दें कि फ़ोन से पुष्टि करने के लिए, localhost को होस्ट किए गए डोमेन के तौर पर अनुमति नहीं है.

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

reCAPTCHA की पुष्टि करने वाली सुविधा सेट अप करें

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

आपको मैन्युअल तरीके से reCAPTCHA क्लाइंट सेट अप करने की ज़रूरत नहीं है. Firebase SDK टूल के RecaptchaVerifier ऑब्जेक्ट का इस्तेमाल करने पर, Firebase अपने-आप सभी ज़रूरी क्लाइंट कुंजियां और सीक्रेट जनरेट और मैनेज करता है.

RecaptchaVerifier ऑब्जेक्ट में, न दिखने वाला रीकैप्चा काम करता है. यह अक्सर उपयोगकर्ता की पुष्टि कर सकता है. इसके लिए, उपयोगकर्ता को कुछ करने की ज़रूरत नहीं होती. साथ ही, reCAPTCHA विजेट भी काम करता है, जिसके लिए उपयोगकर्ताओं के इंटरैक्शन को हमेशा सही तरीके से पूरा करने की ज़रूरत होती है.

रेंडर किए गए मुख्य reCAPTCHA को उपयोगकर्ता की पसंद के हिसाब से स्थानीय भाषा में बदला जा सकता है. इसके लिए, reCAPTCHA को रेंडर करने से पहले, पुष्टि करने वाले इंस्टेंस पर भाषा कोड को अपडेट किया जाता है. ऊपर बताई गई स्थानीय भाषा, उपयोगकर्ता को भेजे गए मैसेज (एसएमएस) पर भी लागू होगी. मैसेज में पुष्टि करने का कोड शामिल होगा.

Web

import { getAuth } from "firebase/auth";

const auth = getAuth();
auth.languageCode = 'it';
// To apply the default browser preference instead of explicitly setting it.
// auth.useDeviceLanguage();

Web

firebase.auth().languageCode = 'it';
// To apply the default browser preference instead of explicitly setting it.
// firebase.auth().useDeviceLanguage();

दिखाई न देने वाले reCAPTCHA का इस्तेमाल करें

नहीं दिखने वाले reCAPTCHA का इस्तेमाल करने के लिए, RecaptchaVerifier ऑब्जेक्ट बनाएं. इसमें size पैरामीटर को invisible पर सेट करें. इसमें साइन-इन फ़ॉर्म को सबमिट करने वाले बटन का आईडी बताएं. उदाहरण के लिए:

Web

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

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier(auth, 'sign-in-button', {
  'size': 'invisible',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    onSignInSubmit();
  }
});

Web

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('sign-in-button', {
  'size': 'invisible',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    onSignInSubmit();
  }
});

reCAPTCHA विजेट का इस्तेमाल करना

दिखने वाले reCAPTCHA विजेट का इस्तेमाल करने के लिए, अपने पेज पर ऐसा एलिमेंट बनाएं जिसमें विजेट शामिल हो. इसके बाद, RecaptchaVerifier ऑब्जेक्ट बनाएं. ऐसा करते समय, कंटेनर का आईडी बताएं. उदाहरण के लिए:

Web

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

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier(auth, 'recaptcha-container', {});

Web

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');

ज़रूरी नहीं: reCAPTCHA के पैरामीटर डालें

आपके पास RecaptchaVerifier ऑब्जेक्ट पर कॉलबैक फ़ंक्शन सेट करने का विकल्प होता है. यह फ़ंक्शन तब कॉल किया जाता है, जब उपयोगकर्ता रीकैप्चा हल करता है या फ़ॉर्म सबमिट करने से पहले reCAPTCHA की समयसीमा खत्म हो जाती है:

Web

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

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier(auth, 'recaptcha-container', {
  'size': 'normal',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    // ...
  },
  'expired-callback': () => {
    // Response expired. Ask user to solve reCAPTCHA again.
    // ...
  }
});

Web

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container', {
  'size': 'normal',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    // ...
  },
  'expired-callback': () => {
    // Response expired. Ask user to solve reCAPTCHA again.
    // ...
  }
});

ज़रूरी नहीं: reCAPTCHA को पहले से रेंडर करें

अगर आपको साइन इन करने का अनुरोध सबमिट करने से पहले, reCAPTCHA को पहले से रेंडर करना है, तो render पर कॉल करें:

Web

recaptchaVerifier.render().then((widgetId) => {
  window.recaptchaWidgetId = widgetId;
});

Web

recaptchaVerifier.render().then((widgetId) => {
  window.recaptchaWidgetId = widgetId;
});

render के रिज़ॉल्व हो जाने के बाद, आपको reCAPTCHA का विजेट आईडी मिलता है. इसका इस्तेमाल reकैप्चा एपीआई को कॉल करने के लिए किया जा सकता है:

Web

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

Web

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

उपयोगकर्ता के फ़ोन पर पुष्टि करने के लिए कोड भेजें

फ़ोन नंबर पर साइन-इन करने की प्रक्रिया शुरू करने के लिए, यूज़र को एक ऐसा इंटरफ़ेस पेश करें जो उन्हें अपना फ़ोन नंबर देने के लिए कहे. इसके बाद, signInWithPhoneNumber पर कॉल करके अनुरोध करें कि Firebase उपयोगकर्ता के फ़ोन पर एसएमएस के ज़रिए पुष्टि करने वाला कोड भेजे:

  1. उपयोगकर्ता का फ़ोन नंबर पाएं.

    कानूनी समझौते की शर्तें अलग-अलग हो सकती हैं, लेकिन सबसे सही तरीके के तौर पर अपने उपयोगकर्ताओं को यह बताने के लिए, आपको उन्हें बताना चाहिए कि अगर वे फ़ोन साइन-इन का इस्तेमाल करते हैं, तो उन्हें पुष्टि के लिए मैसेज (एसएमएस) मिल सकता है. साथ ही, सामान्य दरें लागू होंगी.

  2. signInWithPhoneNumber को कॉल करें और उसे उपयोगकर्ता के फ़ोन नंबर और पहले बनाए गए RecaptchaVerifier को पास करें.

    Web

    import { getAuth, signInWithPhoneNumber } from "firebase/auth";
    
    const phoneNumber = getPhoneNumberFromUserInput();
    const appVerifier = window.recaptchaVerifier;
    
    const auth = getAuth();
    signInWithPhoneNumber(auth, phoneNumber, appVerifier)
        .then((confirmationResult) => {
          // SMS sent. Prompt user to type the code from the message, then sign the
          // user in with confirmationResult.confirm(code).
          window.confirmationResult = confirmationResult;
          // ...
        }).catch((error) => {
          // Error; SMS not sent
          // ...
        });

    Web

    const phoneNumber = getPhoneNumberFromUserInput();
    const appVerifier = window.recaptchaVerifier;
    firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
        .then((confirmationResult) => {
          // SMS sent. Prompt user to type the code from the message, then sign the
          // user in with confirmationResult.confirm(code).
          window.confirmationResult = confirmationResult;
          // ...
        }).catch((error) => {
          // Error; SMS not sent
          // ...
        });
    अगर signInWithPhoneNumber से कोई गड़बड़ी मिलती है, तो reCAPTCHA को रीसेट करें, ताकि उपयोगकर्ता फिर से कोशिश कर सके:
    grecaptcha.reset(window.recaptchaWidgetId);
    
    // Or, if you haven't stored the widget ID:
    window.recaptchaVerifier.render().then(function(widgetId) {
      grecaptcha.reset(widgetId);
    });
    

signInWithPhoneNumber वाला तरीका, उपयोगकर्ता को reCAPTCHA चैलेंज जारी करता है. अगर उपयोगकर्ता चैलेंज को पूरा कर लेता है, तो वह अनुरोध पूरा करता है कि Firebase से पुष्टि करने से, उपयोगकर्ता के फ़ोन पर पुष्टि करने के कोड वाला एसएमएस भेजा जाएगा.

पुष्टि करने के कोड से उपयोगकर्ता में साइन इन करें

signInWithPhoneNumber पर कॉल पूरा होने के बाद, उपयोगकर्ता को मैसेज (एसएमएस) के ज़रिए मिला पुष्टि करने वाला कोड लिखने के लिए कहें. इसके बाद, कोड को ConfirmationResult ऑब्जेक्ट के confirm तरीके में पास करके उपयोगकर्ता में साइन इन करें. यह कोड signInWithPhoneNumber के फ़ुलफ़िलमेंट हैंडलर (यानी कि इसके then ब्लॉक) को पास किया गया था. उदाहरण के लिए:

Web

const code = getCodeFromUserInput();
confirmationResult.confirm(code).then((result) => {
  // User signed in successfully.
  const user = result.user;
  // ...
}).catch((error) => {
  // User couldn't sign in (bad verification code?)
  // ...
});

Web

const code = getCodeFromUserInput();
confirmationResult.confirm(code).then((result) => {
  // User signed in successfully.
  const user = result.user;
  // ...
}).catch((error) => {
  // User couldn't sign in (bad verification code?)
  // ...
});

अगर confirm को कॉल किया गया है, तो उपयोगकर्ता ने साइन इन कर लिया है.

इंटरमीडिएट AuthAuthentic ऑब्जेक्ट पाएं

अगर आपको उपयोगकर्ता के खाते के लिए AuthCredential ऑब्जेक्ट चाहिए, तो confirm को कॉल करने के बजाय, पुष्टि के नतीजे में से पुष्टि करने का कोड और PhoneAuthProvider.credential को पुष्टि करने का कोड भेजें:

var credential = firebase.auth.PhoneAuthProvider.credential(confirmationResult.verificationId, code);

इसके बाद, क्रेडेंशियल की मदद से उपयोगकर्ता के खाते में साइन इन किया जा सकता है:

firebase.auth().signInWithCredential(credential);

काल्पनिक फ़ोन नंबर के साथ परीक्षण करें

Firebase कंसोल से, डेवलपमेंट के लिए काल्पनिक फ़ोन नंबर सेट अप किए जा सकते हैं. काल्पनिक फ़ोन नंबर के साथ परीक्षण करने से ये फ़ायदे होते हैं:

  • इस्तेमाल का कोटा इस्तेमाल किए बिना, फ़ोन नंबर की पुष्टि करने की प्रक्रिया की जांच करें.
  • असल एसएमएस मैसेज भेजे बिना, फ़ोन नंबर की पुष्टि की जांच करें.
  • थ्रॉटल किए बिना एक ही फ़ोन नंबर के साथ लगातार टेस्ट करें. इससे अगर समीक्षक जांच के लिए उसी फ़ोन नंबर का इस्तेमाल करता है, तो ऐप स्टोर की समीक्षा के दौरान ऐप्लिकेशन के अस्वीकार होने का जोखिम कम हो जाता है.
  • डेवलपमेंट सिस्टम में, बिना किसी अतिरिक्त कोशिश के आसानी से टेस्ट करें. जैसे, Google Play Services के बिना, किसी iOS सिम्युलेटर या Android एम्युलेटर में ऐप्लिकेशन डेवलप करना.
  • प्रोडक्शन एनवायरमेंट में, आम तौर पर असली फ़ोन नंबर पर लागू की जाने वाली सुरक्षा जांचों से ब्लॉक हुए बिना, इंटिग्रेशन टेस्ट लिखें.

काल्पनिक फ़ोन नंबर इन शर्तों के मुताबिक होने चाहिए:

  1. पक्का करें कि ऐसे फ़ोन नंबर इस्तेमाल किए जा रहे हों जो असल में काल्पनिक हों और पहले से मौजूद न हों. Firebase से पुष्टि करने की सुविधा से, आपको उन मौजूदा फ़ोन नंबर को सेट करने की अनुमति नहीं मिलती जिन्हें असली उपयोगकर्ता इस्तेमाल करते हैं. ये नंबर, टेस्ट नंबर के तौर पर इस्तेमाल किए जाते हैं. अमेरिका के टेस्ट फ़ोन नंबर के तौर पर, 555 प्रीफ़िक्स वाले नंबरों का इस्तेमाल किया जा सकता है. उदाहरण के लिए: +1 650-555-3434
  2. फ़ोन नंबर, लंबाई और दूसरी सीमाओं के हिसाब से सही फ़ॉर्मैट में होने चाहिए. उन्हें अब भी उसी तरह से पुष्टि करनी होगी जैसी किसी असली उपयोगकर्ता के फ़ोन नंबर से की जाती है.
  3. डेवलपमेंट के लिए आप ज़्यादा से ज़्यादा 10 फ़ोन नंबर जोड़ सकते हैं.
  4. ऐसे फ़ोन नंबर/कोड की जांच करें जिनका अंदाज़ा लगाना और उन्हें बार-बार बदलना मुश्किल हो.

काल्पनिक फ़ोन नंबर और पुष्टि करने के लिए कोड बनाना

  1. Firebase कंसोल में, पुष्टि करें सेक्शन खोलें.
  2. साइन इन करने का तरीका टैब में, अगर आपने पहले से फ़ोन की सेवा देने वाली कंपनी को चालू नहीं किया है, तो इसे चालू करें.
  3. अकॉर्डियन मेन्यू खोलें जांच के लिए फ़ोन नंबर.
  4. वह फ़ोन नंबर डालें जिसकी आपको जांच करनी है. उदाहरण के लिए: +1 650-555-3434.
  5. उस नंबर के लिए पुष्टि करने के लिए छह अंकों का कोड दें, जैसे कि 654321.
  6. नंबर जोड़ें. फ़ोन नंबर और उसका कोड मिटाने के लिए, उससे जुड़ी लाइन पर कर्सर घुमाएं और ट्रैश आइकॉन पर क्लिक करें.

मैन्युअल तौर पर टेस्ट करने की सुविधा

आप अपने ऐप्लिकेशन में सीधे किसी काल्पनिक फ़ोन नंबर का इस्तेमाल करना शुरू कर सकते हैं. इससे आपको कोटा से जुड़ी समस्याओं या थ्रॉटलिंग के बिना, डेवलपमेंट के दौरान मैन्युअल तरीके से टेस्ट करने की सुविधा मिलती है. किसी iOS सिम्युलेटर या Android एम्युलेटर से भी टेस्ट किया जा सकता है, जिसके लिए Google Play services इंस्टॉल नहीं होगी.

जब काल्पनिक फ़ोन नंबर दिया जाता है और पुष्टि करने वाला कोड भेजा जाता है, तो असल में कोई एसएमएस नहीं भेजा जाता है. इसके बजाय, साइन इन पूरा करने के लिए आपको पहले कॉन्फ़िगर किया गया पुष्टि कोड देना होगा.

साइन इन पूरा होने पर, उस फ़ोन नंबर से Firebase उपयोगकर्ता बनाया जाता है. उपयोगकर्ता का व्यवहार और प्रॉपर्टी, फ़ोन नंबर इस्तेमाल करने वाले व्यक्ति की तरह ही होती हैं. साथ ही, वह रीयल टाइम डेटाबेस/Cloud Firestore और अन्य सेवाओं को इसी तरह ऐक्सेस कर सकता है. इस प्रोसेस के दौरान बनाए गए आईडी टोकन का सिग्नेचर, असली फ़ोन नंबर इस्तेमाल करने वाले व्यक्ति के हस्ताक्षर जैसा ही होता है.

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

इंटिग्रेशन की जांच

मैन्युअल टेस्टिंग के अलावा, Firebase से पुष्टि करने से फ़ोन की पुष्टि की जांच के लिए इंटिग्रेशन की जांच लिखने में मदद के लिए एपीआई भी मिलते हैं. ये एपीआई, वेब में reCAPTCHA की ज़रूरत और iOS में साइलेंट पुश नोटिफ़िकेशन को बंद करके ऐप्लिकेशन की पुष्टि करते हैं. इससे इन फ़्लो में ऑटोमेशन टेस्टिंग को मुमकिन हो जाता है और इसे लागू करना आसान हो जाता है. साथ ही, वे Android पर झटपट पुष्टि की प्रक्रिया की जांच करने की सुविधा देते हैं.

firebase.auth.RecaptchaVerifier को रेंडर करने से पहले, वेब पर appVerificationDisabledForTesting को true पर सेट करें. इससे reCAPTCHA अपने-आप रिज़ॉल्व हो जाता है. इससे, फ़ोन नंबर को मैन्युअल तरीके से हल किए बिना पास किया जा सकता है. ध्यान दें कि भले ही reCAPTCHA बंद हो, लेकिन किसी नॉन-काल्पनिक फ़ोन नंबर से साइन इन नहीं किया जा सकता. इस एपीआई के साथ सिर्फ़ काल्पनिक फ़ोन नंबर इस्तेमाल किए जा सकते हैं.

// Turn off phone auth app verification.
firebase.auth().settings.appVerificationDisabledForTesting = true;

var phoneNumber = "+16505554567";
var testVerificationCode = "123456";

// This will render a fake reCAPTCHA as appVerificationDisabledForTesting is true.
// This will resolve after rendering without app verification.
var appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
// signInWithPhoneNumber will call appVerifier.verify() which will resolve with a fake
// reCAPTCHA response.
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
    .then(function (confirmationResult) {
      // confirmationResult can resolve with the fictional testVerificationCode above.
      return confirmationResult.confirm(testVerificationCode)
    }).catch(function (error) {
      // Error; SMS not sent
      // ...
    });

ऐप्लिकेशन की पुष्टि करने की सुविधा बंद होने पर, दिखने वाले और नहीं दिखने वाले reCAPTCHA ऐप्लिकेशन की पुष्टि करने वाली कंपनियां अलग तरह से काम करती हैं:

  • दिखने वाला reCAPTCHA: जब दिखने वाला reCAPTCHA, appVerifier.render() की मदद से रेंडर होता है, तो वह कुछ सेकंड बाद अपने-आप रिज़ॉल्व हो जाता है. यह रेंडर होने के तुरंत बाद reCAPTCHA पर क्लिक करने वाले उपयोगकर्ता के बराबर होता है. reCAPTCHA रिस्पॉन्स कुछ समय बाद खत्म हो जाता है और फिर से अपने-आप हट जाता है.
  • न दिखने वाला reCAPTCHA: दिखने वाला reCAPTCHA, रेंडरिंग के समय अपने-आप रिज़ॉल्व नहीं होता. इसके बजाय, वह appVerifier.verify()कॉल या reCAPTCHA के बटन ऐंकर पर कुछ सेकंड के बाद क्लिक करते समय, रिज़ॉल्व नहीं करता. इसी तरह, रिस्पॉन्स की समयसीमा कुछ समय बाद खत्म हो जाती है. यह सिर्फ़ appVerifier.verify() कॉल के बाद या reCAPTCHA के बटन ऐंकर पर दोबारा क्लिक करने पर ही अपने-आप हल होती है.

मॉक reCAPTCHA के ठीक हो जाने पर, उससे जुड़ा कॉलबैक फ़ंक्शन उम्मीद के मुताबिक ट्रिगर होता है. ऐसा नकली रिस्पॉन्स के साथ होता है. अगर ऐक्सेस की समयसीमा खत्म होने पर कॉलबैक करके भी तय किया जाता है, तो यह समयसीमा खत्म होने पर ट्रिगर होगा.

अगले चरण

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

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

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

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

किसी उपयोगकर्ता को साइन आउट करने के लिए, 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.
});