Firebase Authentication का इस्तेमाल करके, उपयोगकर्ताओं को अपने ऐप्लिकेशन में साइन इन करने की अनुमति दी जा सकती है. इसके लिए, एक या उससे ज़्यादा साइन-इन के तरीके इस्तेमाल किए जा सकते हैं. जैसे, ईमेल पते और पासवर्ड से साइन-इन करना. इसके अलावा, फ़ेडरेटेड आइडेंटिटी प्रोवाइडर का इस्तेमाल करके भी साइन-इन किया जा सकता है. जैसे, Google साइन-इन और Facebook Login. इस ट्यूटोरियल में, Firebase Authentication का इस्तेमाल शुरू करने का तरीका बताया गया है. इसमें, आपके ऐप्लिकेशन में ईमेल पते और पासवर्ड से साइन-इन करने की सुविधा जोड़ने का तरीका बताया गया है.
Authentication SDK टूल जोड़ना और उसे शुरू करना
अगर आपने पहले से ऐसा नहीं किया है, तो Firebase JS SDK टूल इंस्टॉल करें और Firebase को शुरू करें.
Firebase Authentication JS SDK जोड़ें और Firebase Authentication को शुरू करें:
Web
import { initializeApp } from "firebase/app"; import { getAuth } from "firebase/auth"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Firebase Authentication and get a reference to the service const auth = getAuth(app);
Web
import firebase from "firebase/compat/app"; import "firebase/compat/auth"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Firebase Authentication and get a reference to the service const auth = firebase.auth();
(ज़रूरी नहीं) Firebase Local Emulator Suite की मदद से प्रोटोटाइप बनाएं और टेस्ट करें
इससे पहले कि हम यह बताएं कि आपका ऐप्लिकेशन उपयोगकर्ताओं की पुष्टि कैसे करता है, आइए हम आपको ऐसे टूल के बारे में बताते हैं जिनका इस्तेमाल करके, Authentication फ़ंक्शन का प्रोटोटाइप बनाया जा सकता है और उसे टेस्ट किया जा सकता है: Firebase Local Emulator Suite. अगर आपको पुष्टि करने के तरीकों और सेवा देने वाली कंपनियों में से किसी एक को चुनना है, Authentication और Firebase Security Rules का इस्तेमाल करके सार्वजनिक और निजी डेटा के साथ अलग-अलग डेटा मॉडल आज़माने हैं या साइन-इन यूज़र इंटरफ़ेस (यूआई) डिज़ाइन का प्रोटोटाइप बनाना है, तो लाइव सेवाओं को डिप्लॉय किए बिना स्थानीय तौर पर काम करना एक अच्छा विकल्प हो सकता है.
Authentication एम्युलेटर, Local Emulator Suite का हिस्सा है. इसकी मदद से, आपका ऐप्लिकेशन एम्युलेट किए गए डेटाबेस के कॉन्टेंट और कॉन्फ़िगरेशन के साथ-साथ, एम्युलेट किए गए प्रोजेक्ट के संसाधनों (फ़ंक्शन, अन्य डेटाबेस, और सुरक्षा के नियम) के साथ इंटरैक्ट कर सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है.
Authentication एम्युलेटर का इस्तेमाल करने के लिए, बस कुछ ही चरणों को पूरा करना होता है:
- एम्युलेटर से कनेक्ट करने के लिए, अपने ऐप्लिकेशन की टेस्ट कॉन्फ़िगरेशन में कोड की एक लाइन जोड़ें.
- अपनी लोकल प्रोजेक्ट डायरेक्ट्री के रूट से,
firebase emulators:start
चलाएं. - इंटरैक्टिव प्रोटोटाइपिंग के लिए Local Emulator Suite यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें या नॉन-इंटरैक्टिव टेस्टिंग के लिए Authentication एम्युलेटर REST API का इस्तेमाल करें.
ज़्यादा जानकारी के लिए, अपने ऐप्लिकेशन को Authentication एम्युलेटर से कनेक्ट करना लेख पढ़ें. ज़्यादा जानकारी के लिए, Local Emulator Suite परिचय देखें.
अब हम उपयोगकर्ताओं की पुष्टि करने के तरीके के बारे में बात करेंगे.
नए उपयोगकर्ताओं को साइन अप करने के लिए न्योता देना
ऐसा फ़ॉर्म बनाएं जिससे नए उपयोगकर्ता, अपने ईमेल पते और पासवर्ड का इस्तेमाल करके आपके ऐप्लिकेशन में रजिस्टर कर सकें. जब कोई उपयोगकर्ता फ़ॉर्म भर लेता है, तो उसके दिए गए ईमेल पते और पासवर्ड की पुष्टि करें. इसके बाद, उन्हें createUserWithEmailAndPassword
तरीके से पास करें:
Web
import { getAuth, createUserWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); createUserWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed up const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // .. });
Web
firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // .. });
मौजूदा उपयोगकर्ताओं को साइन इन करना
ऐसा फ़ॉर्म बनाएं जिसकी मदद से मौजूदा उपयोगकर्ता, अपने ईमेल पते और पासवर्ड का इस्तेमाल करके साइन इन कर सकें. जब कोई उपयोगकर्ता फ़ॉर्म भर लेता है, तब signInWithEmailAndPassword
तरीके को कॉल करें:
Web
import { getAuth, signInWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); signInWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; });
Web
firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; });
पुष्टि की स्थिति पर नज़र रखने वाला ऑब्जेक्ट सेट करना और उपयोगकर्ता का डेटा पाना
आपके ऐप्लिकेशन के जिन पेजों को साइन इन किए हुए उपयोगकर्ता के बारे में जानकारी चाहिए उनके लिए, ग्लोबल ऑथेंटिकेशन ऑब्जेक्ट से एक ऑब्ज़र्वर अटैच करें. उपयोगकर्ता के साइन-इन की स्थिति बदलने पर, इस ऑब्ज़र्वर को कॉल किया जाता है.
onAuthStateChanged
तरीके का इस्तेमाल करके, ऑब्ज़र्वर को अटैच करें. जब कोई उपयोगकर्ता सफलतापूर्वक साइन इन कर लेता है, तब आपको ऑब्ज़र्वर में उस उपयोगकर्ता के बारे में जानकारी मिल सकती है.
Web
import { getAuth, onAuthStateChanged } from "firebase/auth"; const auth = getAuth(); onAuthStateChanged(auth, (user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/auth.user const uid = user.uid; // ... } else { // User is signed out // ... } });
Web
firebase.auth().onAuthStateChanged((user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/v8/firebase.User var uid = user.uid; // ... } else { // User is signed out // ... } });
अगले चरण
अन्य आइडेंटिटी प्रोवाइडर और पहचान ज़ाहिर किए बिना मेहमान के तौर पर इस्तेमाल किए जाने वाले खातों के लिए, सहायता जोड़ने का तरीका जानें: