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

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

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

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

यदि आपने पहले से नहीं किया है, तो Firebase कंसोल से आरंभीकरण स्निपेट को अपने प्रोजेक्ट में कॉपी करें, जैसा कि Add Firebase to your JavaScript project में बताया गया है।

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

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

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

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

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

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

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

रीकैप्चा सत्यापनकर्ता सेट करें

इससे पहले कि आप उपयोगकर्ताओं को उनके फ़ोन नंबर से साइन इन कर सकें, आपको Firebase का reCAPTCHA सत्यापनकर्ता सेट करना होगा। Firebase दुरुपयोग को रोकने के लिए 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 विजेट का उपयोग करने के लिए, विजेट को शामिल करने के लिए अपने पृष्ठ पर एक तत्व बनाएं, और जब आप ऐसा करते हैं तो कंटेनर की आईडी निर्दिष्ट करते हुए एक 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');

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

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

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

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 वस्तु प्राप्त करने की आवश्यकता है, तो सत्यापन कोड को पुष्टिकरण परिणाम से पास करें और सत्यापन कोड को PhoneAuthProvider.credential पर कॉल करने के बजाय confirm :

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

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

firebase.auth().signInWithCredential(credential);

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

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

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

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

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

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

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

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

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

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

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

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

एकीकरण जांच

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

वेब पर, firebase.auth.RecaptchaVerifier रेंडर करने से पहले appVerificationDisabledForTesting को true पर सेट करें। यह reCAPTCHA को स्वचालित रूप से हल करता है, जिससे आप फ़ोन नंबर को मैन्युअल रूप से हल किए बिना पास कर सकते हैं। ध्यान दें कि भले ही 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 ऐप सत्यापनकर्ता अलग व्यवहार करते हैं:

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