Google 致力于为黑人社区推动种族平等。查看具体举措

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

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

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

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

गुमनाम रूप से फायरबेस के साथ प्रमाणित करें

जब कोई साइन-आउट उपयोगकर्ता किसी ऐप सुविधा का उपयोग करता है जिसके लिए Firebase के साथ प्रमाणीकरण की आवश्यकता होती है, तो निम्न चरणों को पूरा करके उपयोगकर्ता को गुमनाम रूप से साइन इन करें:

  1. signInAnonymously विधि को कॉल करें:

    Web version 9

    import { getAuth, signInAnonymously } from "firebase/auth";
    
    const auth = getAuth();
    signInAnonymously(auth)
      .then(() => {
        // Signed in..
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ...
      });

    Web version 8

    firebase.auth().signInAnonymously()
      .then(() => {
        // Signed in..
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });
    यह वह जगह भी है जहां आप त्रुटियों को पकड़ और संभाल सकते हैं। त्रुटि कोड की सूची के लिए प्रामाणिक संदर्भ डॉक्स पर एक नज़र डालें।
  2. यदि signInAnonymously विधि बिना किसी त्रुटि के पूर्ण हो जाती है, तो onAuthStateChanged में पंजीकृत पर्यवेक्षक ट्रिगर हो जाएगा और आप User ऑब्जेक्ट से अनाम उपयोगकर्ता का खाता डेटा प्राप्त कर सकते हैं:

    Web version 9

    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/firebase.User
        const uid = user.uid;
        // ...
      } else {
        // User is signed out
        // ...
      }
    });

    Web version 8

    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/firebase.User
        var uid = user.uid;
        // ...
      } else {
        // User is signed out
        // ...
      }
    });

अनाम खाते को स्थायी खाते में बदलें

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

  1. जब उपयोगकर्ता साइन अप करता है, तो उपयोगकर्ता के प्रमाणीकरण प्रदाता के लिए Auth.signInWith विधियों में से किसी एक को कॉल करने तक, लेकिन इसमें शामिल नहीं, साइन-इन प्रवाह पूरा करें। उदाहरण के लिए, उपयोगकर्ता का Google आईडी टोकन, फेसबुक एक्सेस टोकन, या ईमेल पता और पासवर्ड प्राप्त करें।
  2. नए प्रमाणीकरण प्रदाता के लिए AuthCredential प्राप्त करें:

    गूगल साइन-इन

    Web version 9

    import { GoogleAuthProvider } from "firebase/auth";
    
    const credential = GoogleAuthProvider.credential(
      googleUser.getAuthResponse().id_token);

    Web version 8

    var credential = firebase.auth.GoogleAuthProvider.credential(
      googleUser.getAuthResponse().id_token);
    फेसबुक लोगिन

    Web version 9

    import { FacebookAuthProvider } from "firebase/auth";
    
    const credential = FacebookAuthProvider.credential(
      response.authResponse.accessToken);

    Web version 8

    var credential = firebase.auth.FacebookAuthProvider.credential(
      response.authResponse.accessToken);
    ईमेल-पासवर्ड साइन-इन

    Web version 9

    import { EmailAuthProvider } from "firebase/auth";
    
    const credential = EmailAuthProvider.credential(email, password);

    Web version 8

    var credential = firebase.auth.EmailAuthProvider.credential(email, password);
  3. साइन-इन उपयोगकर्ता की link विधि में AuthCredential ऑब्जेक्ट पास करें:

    Web version 9

    import { getAuth, linkWithCredential } from "firebase/auth";
    
    const auth = getAuth();
    linkWithCredential(auth.currentUser, credential)
      .then((usercred) => {
        const user = usercred.user;
        console.log("Anonymous account successfully upgraded", user);
      }).catch((error) => {
        console.log("Error upgrading anonymous account", error);
      });

    Web version 8

    auth.currentUser.linkWithCredential(credential)
      .then((usercred) => {
        var user = usercred.user;
        console.log("Anonymous account successfully upgraded", user);
      }).catch((error) => {
        console.log("Error upgrading anonymous account", error);
      });

यदि कॉल टू link सफल होता है, तो उपयोगकर्ता का नया खाता अनाम खाते के फायरबेस डेटा तक पहुंच सकता है।

स्वचालित सफाई

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

  • स्वचालित क्लीन-अप सक्षम करने के बाद बनाए गए किसी भी अनाम खाते को निर्माण के 30 दिनों के बाद किसी भी समय स्वचालित रूप से हटाया जा सकता है।
  • स्वचालित क्लीन-अप सक्षम करने से पहले बनाए गए अनाम खाते स्वचालित क्लीन-अप सक्षम करने के 30 दिनों के बाद स्वचालित रूप से हटाए जाने के पात्र होंगे।
  • यदि आप स्वत: सफाई बंद कर देते हैं, तो हटाए जाने के लिए निर्धारित सभी अनाम खाते हटाए जाने के लिए निर्धारित रहेंगे। इन खातों की गणना उपयोग सीमा या बिलिंग कोटा में नहीं की जाती है।
  • यदि आप किसी अनाम खाते को किसी साइन-इन विधि से लिंक करके "अपग्रेड" करते हैं, तो खाता स्वचालित रूप से हटाया नहीं जाएगा।

यदि आप यह देखना चाहते हैं कि इस सुविधा को सक्षम करने से पहले कितने उपयोगकर्ता प्रभावित होंगे, और आपने अपने प्रोजेक्ट को पहचान प्लेटफ़ॉर्म के साथ Firebase प्रमाणीकरण में अपग्रेड किया है, तो आप क्लाउड लॉगिंग में is_anon द्वारा फ़िल्टर कर सकते हैं।

अगले कदम

अब जबकि उपयोगकर्ता Firebase से प्रमाणित कर सकते हैं, आप Firebase नियमों का उपयोग करके अपने Firebase डेटाबेस में डेटा तक उनकी पहुंच को नियंत्रित कर सकते हैं।