Firebase Authentication का इस्तेमाल करके, उपयोगकर्ता के फ़ोन पर एसएमएस भेजकर उसे साइन इन कराया जा सकता है. उपयोगकर्ता, एसएमएस मैसेज में दिए गए एक बार इस्तेमाल किए जा सकने वाले कोड का इस्तेमाल करके साइन इन करता है.
अपने ऐप्लिकेशन में फ़ोन नंबर से साइन इन करने की सुविधा जोड़ने का सबसे आसान तरीका, FirebaseUI का इस्तेमाल करना है. इसमें एक ड्रॉप-इन साइन-इन विजेट शामिल होता है, जो फ़ोन नंबर से साइन इन करने के साथ-साथ, पासवर्ड पर आधारित और फ़ेडरेटेड साइन-इन के लिए साइन-इन फ़्लो लागू करता है. इस दस्तावेज़ में, Firebase SDK टूल का इस्तेमाल करके, फ़ोन नंबर से साइन-इन करने का तरीका बताया गया है.
शुरू करने से पहले
अगर आपने पहले से ही ऐसा नहीं किया है, तो अपने JavaScript प्रोजेक्ट में Firebase जोड़ें में बताए गए तरीके के मुताबिक, Firebase कंसोल से अपने प्रोजेक्ट में शुरू करने वाला स्निपेट कॉपी करें.सुरक्षा से जुड़ी समस्याएं
सिर्फ़ फ़ोन नंबर का इस्तेमाल करके पुष्टि करना आसान होता है, लेकिन यह अन्य तरीकों के मुकाबले कम सुरक्षित होता है. इसकी वजह यह है कि फ़ोन नंबर को उपयोगकर्ताओं के बीच आसानी से ट्रांसफ़र किया जा सकता है. साथ ही, जिन डिवाइसों पर एक से ज़्यादा उपयोगकर्ताओं की प्रोफ़ाइलें हैं उन पर, डिवाइस के फ़ोन नंबर का इस्तेमाल करके किसी भी खाते में साइन इन किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि उस खाते में एसएमएस मैसेज पाने की सुविधा चालू हो.
अगर आपके ऐप्लिकेशन में फ़ोन नंबर से साइन इन करने की सुविधा उपलब्ध है, तो आपको साइन इन करने के ज़्यादा सुरक्षित तरीकों के साथ-साथ यह सुविधा भी उपलब्ध करानी चाहिए. साथ ही, उपयोगकर्ताओं को यह भी बताना चाहिए कि फ़ोन नंबर से साइन इन करने पर, सुरक्षा से जुड़ी क्या समस्याएं आ सकती हैं.
अपने Firebase प्रोजेक्ट के लिए, फ़ोन नंबर से साइन इन करने की सुविधा चालू करना
उपयोगकर्ताओं को मैसेज से साइन इन कराने के लिए, आपको पहले अपने Firebase प्रोजेक्ट के लिए, फ़ोन नंबर से साइन इन करने का तरीका चालू करना होगा:
- Firebase कंसोल में, पुष्टि सेक्शन खोलें.
- साइन इन करने का तरीका पेज पर, साइन इन करने के लिए फ़ोन नंबर का तरीका चालू करें.
- अगर उसी पेज पर, आपके ऐप्लिकेशन को होस्ट करने वाला डोमेन, OAuth रीडायरेक्ट डोमेन सेक्शन में शामिल नहीं है, तो अपना डोमेन जोड़ें. ध्यान दें कि फ़ोन से पुष्टि करने के लिए, localhost को होस्ट किए गए डोमेन के तौर पर इस्तेमाल करने की अनुमति नहीं है.
reCAPTCHA की पुष्टि करने वाली सुविधा सेट अप करना
उपयोगकर्ताओं को उनके फ़ोन नंबर से साइन इन करने की सुविधा देने से पहले, आपको Firebase का reCAPTCHA पुष्टि करने वाला टूल सेट अप करना होगा. Firebase, reCAPTCHA का इस्तेमाल करके गलत इस्तेमाल को रोकता है. उदाहरण के लिए, यह पक्का करके कि फ़ोन नंबर की पुष्टि का अनुरोध, आपके ऐप्लिकेशन के अनुमति वाले किसी डोमेन से आया है.
आपको reCAPTCHA क्लाइंट को मैन्युअल तरीके से सेट अप करने की ज़रूरत नहीं है. Firebase SDK टूल के RecaptchaVerifier
ऑब्जेक्ट का इस्तेमाल करने पर, Firebase अपने-आप ज़रूरी क्लाइंट पासकोड और पासवर्ड बनाता और मैनेज करता है.
RecaptchaVerifier
ऑब्जेक्ट, इनविज़िबल reCAPTCHA के साथ काम करता है. यह अक्सर उपयोगकर्ता की किसी कार्रवाई के बिना ही उसकी पुष्टि कर सकता है. साथ ही, यह reCAPTCHA विजेट के साथ भी काम करता है. हालांकि, इसे पूरा करने के लिए उपयोगकर्ता के इंटरैक्शन की ज़रूरत होती है.
रेंडर किए गए reCAPTCHA को उपयोगकर्ता की पसंद के मुताबिक स्थानीय भाषा में दिखाया जा सकता है. इसके लिए, reCAPTCHA को रेंडर करने से पहले, Auth इंस्टेंस पर भाषा कोड को अपडेट करें. ऊपर बताई गई स्थानीय भाषा में बदलने की सुविधा, उपयोगकर्ता को भेजे गए एसएमएस मैसेज पर भी लागू होगी. इस मैसेज में पुष्टि करने के लिए कोड होता है.
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();
Invisible reCAPTCHA का इस्तेमाल करना
इनविज़िबल reCAPTCHA का इस्तेमाल करने के लिए, size
पैरामीटर को invisible
पर सेट करके RecaptchaVerifier
ऑब्जेक्ट बनाएं. साथ ही, साइन इन फ़ॉर्म सबमिट करने वाले बटन का आईडी बताएं. उदाहरण के लिए:
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 को हल करता है या उपयोगकर्ता फ़ॉर्म सबमिट करने से पहले 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 का विजेट आईडी मिलता है. इसका इस्तेमाल, reCAPTCHA एपीआई को कॉल करने के लिए किया जा सकता है:
Web
const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);
Web
const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);
उपयोगकर्ता के फ़ोन पर पुष्टि करने के लिए कोड भेजना
फ़ोन नंबर से साइन इन करने की सुविधा शुरू करने के लिए, उपयोगकर्ता को एक इंटरफ़ेस दिखाएं. इसमें, उपयोगकर्ता को अपना फ़ोन नंबर डालने के लिए कहा जाएगा. इसके बाद, signInWithPhoneNumber
को कॉल करके अनुरोध करें कि Firebase, उपयोगकर्ता के फ़ोन पर एसएमएस से पुष्टि करने वाला कोड भेजे:
-
उपयोगकर्ता का फ़ोन नंबर पाएं.
कानूनी ज़रूरी शर्तें अलग-अलग होती हैं. हालांकि, सबसे सही तरीका यह है कि आप अपने उपयोगकर्ताओं को बताएं कि फ़ोन से साइन इन करने पर, उन्हें पुष्टि करने के लिए एसएमएस मैसेज मिल सकता है और इसके लिए सामान्य शुल्क लागू होगा.
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 Authentication को उपयोगकर्ता के फ़ोन पर पुष्टि करने वाला कोड भेजने के लिए कहा जाता है.
पुष्टि करने के लिए कोड डालकर, उपयोगकर्ता को साइन इन कराना
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
को कॉल करने पर उपयोगकर्ता साइन इन कर लेता है, तो इसका मतलब है कि कॉल पूरा हो गया है.
इंटरमीडिएट AuthCredential ऑब्जेक्ट पाना
अगर आपको उपयोगकर्ता के खाते के लिए AuthCredential
ऑब्जेक्ट चाहिए, तो confirm
को कॉल करने के बजाय, पुष्टि करने के नतीजे और पुष्टि करने के कोड को PhoneAuthProvider.credential
को पास करें:
var credential = firebase.auth.PhoneAuthProvider.credential(confirmationResult.verificationId, code);
इसके बाद, क्रेडेंशियल का इस्तेमाल करके उपयोगकर्ता को साइन इन कराया जा सकता है:
firebase.auth().signInWithCredential(credential);
काल्पनिक फ़ोन नंबर की मदद से जांच करना
Firebase कंसोल की मदद से, डेवलपमेंट के लिए फ़िक्शनल फ़ोन नंबर सेट अप किए जा सकते हैं. काल्पनिक फ़ोन नंबरों की मदद से जांच करने से ये फ़ायदे मिलते हैं:
- इस्तेमाल के कोटे का इस्तेमाल किए बिना, फ़ोन नंबर की पुष्टि करने की सुविधा को टेस्ट करें.
- असल एसएमएस मैसेज भेजे बिना, फ़ोन नंबर की पुष्टि करने की सुविधा की जांच करना.
- एक ही फ़ोन नंबर से लगातार टेस्ट चलाएं. इससे, ऐप्लिकेशन स्टोर की समीक्षा की प्रोसेस के दौरान, ऐप्लिकेशन को अस्वीकार किए जाने का जोखिम कम हो जाता है. ऐसा तब होता है, जब समीक्षक टेस्टिंग के लिए एक ही फ़ोन नंबर का इस्तेमाल करता है.
- डेवलपमेंट एनवायरमेंट में आसानी से टेस्ट किया जा सकता है. जैसे, Google Play services के बिना iOS सिम्युलेटर या Android एमुलेटर में डेवलप करने की सुविधा.
- इंटिग्रेशन टेस्ट लिखें, ताकि आपको सुरक्षा जांच से न रोका जाए. आम तौर पर, प्रोडक्शन एनवायरमेंट में असली फ़ोन नंबर पर ये जांच की जाती हैं.
काल्पनिक फ़ोन नंबरों के लिए, ये ज़रूरी शर्तें पूरी करना ज़रूरी है:
- पक्का करें कि आपने ऐसे फ़ोन नंबर इस्तेमाल किए हों जो काल्पनिक हों और पहले से मौजूद न हों. Firebase Authentication आपको असली उपयोगकर्ताओं के इस्तेमाल किए जा रहे मौजूदा फ़ोन नंबर को टेस्ट नंबर के तौर पर सेट करने की अनुमति नहीं देता. एक विकल्प यह है कि अमेरिका के टेस्ट फ़ोन नंबर के तौर पर, 555 से शुरू होने वाले नंबर इस्तेमाल किए जाएं. उदाहरण के लिए: +1 650-555-3434
- फ़ोन नंबर की लंबाई और अन्य सीमाओं के लिए, फ़ोन नंबर का फ़ॉर्मैट सही होना चाहिए. हालांकि, इसकी पुष्टि उसी तरह की जाएगी जिस तरह किसी असल उपयोगकर्ता के फ़ोन नंबर की पुष्टि की जाती है.
- डेवलपमेंट के लिए, ज़्यादा से ज़्यादा 10 फ़ोन नंबर जोड़े जा सकते हैं.
- ऐसे टेस्ट फ़ोन नंबर/कोड का इस्तेमाल करें जिन्हें क्रैक करना मुश्किल हो. साथ ही, उन्हें समय-समय पर बदलते रहें.
फ़र्ज़ी फ़ोन नंबर और पुष्टि करने के कोड बनाना
- Firebase कंसोल में, पुष्टि सेक्शन खोलें.
- अगर आपने पहले से फ़ोन की सेवा देने वाली कंपनी को चालू नहीं किया है, तो साइन इन करने का तरीका टैब में जाकर, उसे चालू करें.
- जांच के लिए फ़ोन नंबर वाला अकॉर्डियन मेन्यू खोलें.
- वह फ़ोन नंबर डालें जिसका आपको टेस्ट करना है. उदाहरण के लिए: +1 650-555-3434.
- उस नंबर के लिए, पुष्टि करने वाला छह अंकों का कोड डालें. उदाहरण के लिए: 654321.
- नंबर जोड़ें. ज़रूरत पड़ने पर, फ़ोन नंबर और उसका कोड मिटाया जा सकता है. इसके लिए, उस नंबर वाली लाइन पर कर्सर घुमाएं और ट्रैश आइकॉन पर क्लिक करें.
मैन्युअल टेस्टिंग
अपने ऐप्लिकेशन में सीधे तौर पर किसी काल्पनिक फ़ोन नंबर का इस्तेमाल किया जा सकता है. इससे, डेवलपमेंट के दौरान मैन्युअल टेस्टिंग की जा सकती है. ऐसा, कोटा से जुड़ी समस्याओं या ट्रॉथलिंग के बिना किया जा सकता है. Google Play services के बिना भी, सीधे iOS सिम्युलेटर या Android एमुलेटर से जांच की जा सकती है.
जब कोई फ़र्ज़ी फ़ोन नंबर दिया जाता है और पुष्टि करने के लिए कोड भेजा जाता है, तो कोई असल एसएमएस नहीं भेजा जाता. इसके बजाय, आपको साइन इन करने के लिए, पहले से कॉन्फ़िगर किया गया पुष्टि करने वाला कोड देना होगा.
साइन इन करने के बाद, उस फ़ोन नंबर से Firebase उपयोगकर्ता बन जाता है. इस उपयोगकर्ता का व्यवहार और प्रॉपर्टी, असल फ़ोन नंबर के उपयोगकर्ता की तरह ही होती हैं. साथ ही, वह Realtime Database/Cloud Firestore और अन्य सेवाओं को उसी तरह ऐक्सेस कर सकता है. इस प्रोसेस के दौरान जनरेट किए गए आईडी टोकन का हस्ताक्षर, असल फ़ोन नंबर के उपयोगकर्ता के हस्ताक्षर जैसा ही होता है.
अगर आपको ऐक्सेस पर और पाबंदी लगानी है, तो इन उपयोगकर्ताओं को कस्टम दावों के ज़रिए टेस्ट की भूमिका असाइन की जा सकती है. इससे, उन्हें नकली उपयोगकर्ताओं के तौर पर अलग किया जा सकता है.
इंटिग्रेशन टेस्टिंग
मैन्युअल टेस्टिंग के अलावा, Firebase Authentication एपीआई उपलब्ध कराता है, ताकि फ़ोन से पुष्टि करने की सुविधा की जांच के लिए इंटिग्रेशन टेस्ट लिखने में मदद मिल सके. ये एपीआई, वेब पर reCAPTCHA की ज़रूरी शर्त को बंद करके और iOS में साइलेंट पुश नोटिफ़िकेशन की सुविधा को बंद करके, ऐप्लिकेशन की पुष्टि करने की सुविधा बंद कर देते हैं. इससे इन फ़्लो में ऑटोमेशन टेस्टिंग की जा सकती है और इसे लागू करना आसान हो जाता है. इसके अलावा, इनकी मदद से Android पर तुरंत पुष्टि करने की सुविधा के फ़्लो की जांच की जा सकती है.
वेब पर, firebase.auth.RecaptchaVerifier
को रेंडर करने से पहले, appVerificationDisabledForTesting
को true
पर सेट करें. इससे reCAPTCHA अपने-आप हल हो जाता है. इससे, आपको मैन्युअल तरीके से 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 के जवाब की समयसीमा कुछ समय बाद खत्म हो जाएगी. इसके बाद, यह अपने-आप फिर से हल हो जाएगा. - Invisible reCAPTCHA:
Invisible reCAPTCHA, रेंडर होने पर अपने-आप हल नहीं होता. इसके बजाय, यह
appVerifier.verify()
कॉल पर या reCAPTCHA के बटन ऐंकर पर कुछ सेकंड के इंतज़ार के बाद क्लिक करने पर हल होता है. इसी तरह, जवाब कुछ समय बाद खत्म हो जाएगा औरappVerifier.verify()
कॉल के बाद या reCAPTCHA के बटन ऐंकर पर फिर से क्लिक करने पर ही, अपने-आप हल हो जाएगा.
जब भी कोई नकली reCAPTCHA हल किया जाता है, तो उससे जुड़ा कॉलबैक फ़ंक्शन, नकली रिस्पॉन्स के साथ उम्मीद के मुताबिक ट्रिगर होता है. अगर समयसीमा खत्म होने पर कॉलबैक करने का विकल्प भी दिया गया है, तो वह समयसीमा खत्म होने पर ट्रिगर होगा.
अगले चरण
जब कोई उपयोगकर्ता पहली बार साइन इन करता है, तो उसके लिए नया उपयोगकर्ता खाता बन जाता है. साथ ही, उस खाते को उन क्रेडेंशियल से लिंक कर दिया जाता है जिनका इस्तेमाल करके उसने साइन इन किया था. जैसे, उपयोगकर्ता का नाम और पासवर्ड, फ़ोन नंबर या पुष्टि करने वाली सेवा की जानकारी. यह नया खाता, आपके Firebase प्रोजेक्ट के हिस्से के तौर पर सेव किया जाता है. इसका इस्तेमाल, आपके प्रोजेक्ट के हर ऐप्लिकेशन में किसी उपयोगकर्ता की पहचान करने के लिए किया जा सकता है. भले ही, उपयोगकर्ता साइन इन करने का तरीका कोई भी हो.
-
अपने ऐप्लिकेशन में, उपयोगकर्ता की पुष्टि की स्थिति जानने के लिए,
Auth
ऑब्जेक्ट पर ऑब्ज़र्वर सेट करने का सुझाव दिया जाता है. इसके बाद,User
ऑब्जेक्ट से उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी पाई जा सकती है. उपयोगकर्ताओं को मैनेज करें देखें. अपने Firebase Realtime Database और 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. });