वेबसाइटों पर Firebase से पुष्टि करने की सुविधा का इस्तेमाल शुरू करना

Firebase Authentication का इस्तेमाल करके, उपयोगकर्ताओं को एक या उससे ज़्यादा तरीकों से आपके ऐप्लिकेशन में साइन इन करने की अनुमति दी जा सकती है. इनमें ईमेल पते और पासवर्ड से साइन इन करने के साथ-साथ, Google Sign-in और Facebook Login जैसे फ़ेडरेटेड आइडेंटिटी प्रोवाइडर शामिल हैं. इस ट्यूटोरियल में, Firebase Authentication का इस्तेमाल शुरू करने का तरीका बताया गया है. इसमें, अपने ऐप्लिकेशन में ईमेल पता और पासवर्ड जोड़कर साइन इन करने का तरीका बताया गया है.

Authentication SDK टूल जोड़ना और उसे शुरू करना

  1. अगर आपने अब तक ऐसा नहीं किया है, तो Firebase JS SDK टूल इंस्टॉल करें और Firebase को शुरू करें.

  2. 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 एमुलेटर का इस्तेमाल करने के लिए, ये चरण अपनाएं:

  1. एम्युलेटर से कनेक्ट करने के लिए, अपने ऐप्लिकेशन के टेस्ट कॉन्फ़िगरेशन में कोड की एक लाइन जोड़ना.
  2. अपनी लोकल प्रोजेक्ट डायरेक्ट्री के रूट से, firebase emulators:start चलाएं.
  3. इंटरैक्टिव प्रोटोटाइपिंग के लिए 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
    // ...
  }
});

अगले चरण

अन्य आइडेंटिटी प्रोवाइडर और पहचान ज़ाहिर किए बिना मेहमान के तौर पर साइन इन करने वाले लोगों के लिए सहायता जोड़ने का तरीका जानें: