जावास्क्रिप्ट का उपयोग करके फोन नंबर के साथ फायरबेस से प्रमाणित करें, जावास्क्रिप्ट का उपयोग करके फोन नंबर के साथ फायरबेस के साथ प्रमाणित करें

आप उपयोगकर्ता के फोन पर एक एसएमएस संदेश भेजकर साइन इन करने के लिए फायरबेस प्रमाणीकरण का उपयोग कर सकते हैं। उपयोगकर्ता एसएमएस संदेश में निहित एक बार के कोड का उपयोग करके साइन इन करता है।

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

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

यदि आपने पहले से ऐसा नहीं किया है, तो फायरबेस कंसोल से इनिशियलाइज़ेशन स्निपेट को अपने प्रोजेक्ट में कॉपी करें जैसा कि अपने जावास्क्रिप्ट प्रोजेक्ट में फायरबेस जोड़ें में वर्णित है।

सुरक्षा चिंताएं

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

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

अपने फायरबेस प्रोजेक्ट के लिए फ़ोन नंबर साइन-इन सक्षम करें

उपयोगकर्ताओं को एसएमएस द्वारा साइन इन करने के लिए, आपको पहले अपने फायरबेस प्रोजेक्ट के लिए फ़ोन नंबर साइन-इन विधि सक्षम करनी होगी:

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

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

reCAPTCHA सत्यापनकर्ता सेट करें

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

आपको मैन्युअल रूप से रीकैप्चा क्लाइंट सेट अप करने की आवश्यकता नहीं है; जब आप Firebase SDK के RecaptchaVerifier ऑब्जेक्ट का उपयोग करते हैं, तो Firebase स्वचालित रूप से किसी भी आवश्यक क्लाइंट कुंजी और रहस्यों को बनाता और प्रबंधित करता है।

RecaptchaVerifier ऑब्जेक्ट अदृश्य reCAPTCHA का समर्थन करता है, जो अक्सर किसी भी उपयोगकर्ता कार्रवाई की आवश्यकता के बिना उपयोगकर्ता को सत्यापित कर सकता है, साथ ही reCAPTCHA विजेट, जिसे सफलतापूर्वक पूरा करने के लिए हमेशा उपयोगकर्ता इंटरैक्शन की आवश्यकता होती है।

अंतर्निहित रेंडर किए गए रीकैप्चा को रीकैप्चा रेंडर करने से पहले ऑथ इंस्टेंस पर भाषा कोड को अपडेट करके उपयोगकर्ता की प्राथमिकता के अनुसार स्थानीयकृत किया जा सकता है। उपरोक्त स्थानीयकरण सत्यापन कोड वाले उपयोगकर्ता को भेजे गए एसएमएस संदेश पर भी लागू होगा।

Web modular API

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 namespaced API

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

अदृश्य रीकैप्चा का उपयोग करें

अदृश्य reCAPTCHA का उपयोग करने के लिए, आपके साइन-इन फॉर्म को सबमिट करने वाले बटन की आईडी निर्दिष्ट करते हुए, invisible पर सेट size पैरामीटर के साथ एक RecaptchaVerifier ऑब्जेक्ट बनाएं। उदाहरण के लिए:

Web modular API

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 namespaced API

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

reCAPTCHA विजेट का उपयोग करें

दृश्यमान reCAPTCHA विजेट का उपयोग करने के लिए, विजेट को शामिल करने के लिए अपने पृष्ठ पर एक तत्व बनाएं, और फिर ऐसा करते समय कंटेनर की आईडी निर्दिष्ट करते हुए एक RecaptchaVerifier ऑब्जेक्ट बनाएं। उदाहरण के लिए:

Web modular API

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

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

Web namespaced API

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

वैकल्पिक: रीकैप्चा पैरामीटर निर्दिष्ट करें

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

Web modular API

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 namespaced API

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

वैकल्पिक: रीकैप्चा को प्री-रेंडर करें

यदि आप साइन-इन अनुरोध सबमिट करने से पहले रीकैप्चा को प्री-रेंडर करना चाहते हैं, तो render पर कॉल करें:

Web modular API

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

Web namespaced API

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

render समाधान के बाद, आपको reCAPTCHA की विजेट आईडी मिलती है, जिसका उपयोग आप reCAPTCHA API पर कॉल करने के लिए कर सकते हैं:

Web modular API

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

Web namespaced API

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

उपयोगकर्ता के फ़ोन पर एक सत्यापन कोड भेजें

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

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

    कानूनी आवश्यकताएं अलग-अलग होती हैं, लेकिन सर्वोत्तम अभ्यास के रूप में और अपने उपयोगकर्ताओं के लिए अपेक्षाएं निर्धारित करने के लिए, आपको उन्हें सूचित करना चाहिए कि यदि वे फोन साइन-इन का उपयोग करते हैं, तो उन्हें सत्यापन और मानक दरें लागू होने के लिए एक एसएमएस संदेश प्राप्त हो सकता है।

  2. signInWithPhoneNumber पर कॉल करें, इसे उपयोगकर्ता का फ़ोन नंबर और आपके द्वारा पहले बनाया गया RecaptchaVerifier पास करें।

    Web modular API

    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 namespaced API

    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 विधि उपयोगकर्ता को रीकैप्चा चुनौती जारी करती है, और यदि उपयोगकर्ता चुनौती पास कर लेता है, तो अनुरोध करता है कि फायरबेस प्रमाणीकरण उपयोगकर्ता के फोन पर एक सत्यापन कोड वाला एक एसएमएस संदेश भेजे।

सत्यापन कोड के साथ उपयोगकर्ता को साइन इन करें

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

Web modular API

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 namespaced API

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 के लिए कॉल सफल हो जाती है, तो उपयोगकर्ता सफलतापूर्वक साइन इन हो जाता है।

मध्यवर्ती AuthCredential ऑब्जेक्ट प्राप्त करें

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

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

फिर, आप क्रेडेंशियल के साथ उपयोगकर्ता में साइन इन कर सकते हैं:

firebase.auth().signInWithCredential(credential);

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

आप फायरबेस कंसोल के माध्यम से विकास के लिए काल्पनिक फ़ोन नंबर सेट कर सकते हैं। काल्पनिक फ़ोन नंबरों के साथ परीक्षण करने से ये लाभ मिलते हैं:

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

काल्पनिक फ़ोन नंबरों को इन आवश्यकताओं को पूरा करना होगा:

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

काल्पनिक फ़ोन नंबर और सत्यापन कोड बनाएं

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

मैन्युअल परीक्षण

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

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

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

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

एकीकरण जांच

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

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

// 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 को appVerifier.render() के माध्यम से प्रस्तुत किया जाता है, तो यह एक सेकंड की देरी के बाद स्वचालित रूप से स्वयं हल हो जाता है। यह रेंडरिंग के तुरंत बाद उपयोगकर्ता द्वारा रीकैप्चा पर क्लिक करने के बराबर है। reCAPTCHA प्रतिक्रिया कुछ समय बाद समाप्त हो जाएगी और फिर से स्वतः-समाधान हो जाएगी।
  • अदृश्य reCAPTCHA : अदृश्य reCAPTCHA रेंडरिंग पर स्वतः-समाधान नहीं करता है और इसके बजाय ऐसा appVerifier.verify() कॉल पर करता है या जब reCAPTCHA के बटन एंकर को सेकंड की देरी के एक अंश के बाद क्लिक किया जाता है। इसी तरह, प्रतिक्रिया कुछ समय बाद समाप्त हो जाएगी और केवल appVerifier.verify() कॉल के बाद या जब reCAPTCHA के बटन एंकर को फिर से क्लिक किया जाएगा तो स्वतः-समाधान हो जाएगा।

जब भी किसी नकली reCAPTCHA का समाधान किया जाता है, तो नकली प्रतिक्रिया के साथ अपेक्षित रूप से संबंधित कॉलबैक फ़ंक्शन चालू हो जाता है। यदि समाप्ति कॉलबैक भी निर्दिष्ट है, तो यह समाप्ति पर ट्रिगर हो जाएगा।

अगले कदम

किसी उपयोगकर्ता द्वारा पहली बार साइन इन करने के बाद, एक नया उपयोगकर्ता खाता बनाया जाता है और क्रेडेंशियल्स से लिंक किया जाता है - यानी, उपयोगकर्ता नाम और पासवर्ड, फोन नंबर, या ऑथ प्रदाता जानकारी - जिस उपयोगकर्ता के साथ साइन इन किया जाता है। यह नया खाता आपके फायरबेस प्रोजेक्ट के हिस्से के रूप में संग्रहीत है, और इसका उपयोग आपके प्रोजेक्ट के प्रत्येक ऐप में उपयोगकर्ता की पहचान करने के लिए किया जा सकता है, भले ही उपयोगकर्ता कैसे भी साइन इन करता हो।

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

  • अपने फायरबेस रीयलटाइम डेटाबेस और क्लाउड स्टोरेज सुरक्षा नियमों में, आप साइन-इन किए गए उपयोगकर्ता की अद्वितीय उपयोगकर्ता आईडी को auth वेरिएबल से प्राप्त कर सकते हैं, और इसका उपयोग यह नियंत्रित करने के लिए कर सकते हैं कि उपयोगकर्ता किस डेटा तक पहुंच सकता है।

आप किसी मौजूदा उपयोगकर्ता खाते से प्रमाणीकरण प्रदाता क्रेडेंशियल्स को लिंक करके उपयोगकर्ताओं को एकाधिक प्रमाणीकरण प्रदाताओं का उपयोग करके अपने ऐप में साइन इन करने की अनुमति दे सकते हैं।

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

Web modular API

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

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

Web namespaced API

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