Check out what’s new from Firebase at Google I/O 2022. Learn more

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

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

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

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

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

सुरक्षा चिंतायें

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

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

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

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

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

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

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

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

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

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

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

Web version 9

import { getAuth } from "firebase/auth";

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

Web version 8

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

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

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

Web version 9

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

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

Web version 8

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

रीकैप्चा विजेट का प्रयोग करें

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

Web version 9

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

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

Web version 8

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

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

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

Web version 9

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

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

Web version 8

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 को प्री-रेंडर करें

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

Web version 9

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

Web version 8

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

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

Web version 9

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

Web version 8

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

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

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

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

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

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

    Web version 9

    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 version 8

    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 में त्रुटि होती है, तो रीकैप्चा रीसेट करें ताकि उपयोगकर्ता फिर से प्रयास कर सके:
    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 version 9

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 version 8

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);

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

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

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

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

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

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

एकीकरण जांच

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

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

अगले कदम

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

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

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

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

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

Web version 9

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

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

Web version 8

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