জাভাস্ক্রিপ্ট ব্যবহার করে বেনামে ফায়ারবেসের সাথে প্রমাণীকরণ করুন

আপনি Firebase এর সাথে প্রমাণীকরণের জন্য অস্থায়ী বেনামী অ্যাকাউন্ট তৈরি করতে এবং ব্যবহার করতে Firebase Authentication ব্যবহার করতে পারেন। এই অস্থায়ী বেনামী অ্যাকাউন্টগুলি ব্যবহার করা যেতে পারে এমন ব্যবহারকারীদের যারা এখনও আপনার অ্যাপে সাইন আপ করেননি নিরাপত্তা নিয়ম দ্বারা সুরক্ষিত ডেটার সাথে কাজ করার জন্য। যদি একজন বেনামী ব্যবহারকারী আপনার অ্যাপে সাইন আপ করার সিদ্ধান্ত নেন, আপনি তাদের সাইন-ইন শংসাপত্রগুলি বেনামী অ্যাকাউন্টে লিঙ্ক করতে পারেন যাতে তারা ভবিষ্যতের সেশনে তাদের সুরক্ষিত ডেটা নিয়ে কাজ চালিয়ে যেতে পারে।

আপনি শুরু করার আগে

  1. আপনার JavaScript প্রকল্পে Firebase যোগ করুন
  2. আপনি যদি এখনও আপনার অ্যাপটিকে আপনার Firebase প্রকল্পের সাথে সংযুক্ত না করে থাকেন, তাহলে Firebase কনসোল থেকে তা করুন৷
  3. বেনামী প্রমাণীকরণ সক্ষম করুন:
    1. Firebase কনসোলে , Auth বিভাগটি খুলুন।
    2. সাইন-ইন পদ্ধতি পৃষ্ঠায়, বেনামী সাইন-ইন পদ্ধতি সক্ষম করুন।
    3. ঐচ্ছিক : আপনি যদি আপনার প্রোজেক্টকে Firebase Authentication with Identity Platform আপগ্রেড করে থাকেন, তাহলে আপনি স্বয়ংক্রিয় ক্লিন-আপ সক্ষম করতে পারেন। আপনি যখন এই সেটিংটি সক্ষম করবেন, 30 দিনের বেশি পুরানো বেনামী অ্যাকাউন্টগুলি স্বয়ংক্রিয়ভাবে মুছে যাবে৷ স্বয়ংক্রিয় ক্লিন-আপ সক্ষম করা প্রকল্পগুলিতে, বেনামী প্রমাণীকরণ আর ব্যবহার সীমা বা বিলিং কোটার জন্য গণনা করা হবে না। স্বয়ংক্রিয় পরিষ্কার-আপ দেখুন।

বেনামে Firebase দিয়ে প্রমাণীকরণ করুন

যখন একজন সাইন-আউট হওয়া ব্যবহারকারী একটি অ্যাপ বৈশিষ্ট্য ব্যবহার করেন যার জন্য Firebase-এর সাথে প্রমাণীকরণের প্রয়োজন হয়, তখন নিম্নলিখিত ধাপগুলি সম্পূর্ণ করে বেনামে ব্যবহারকারীকে সাইন ইন করুন:

  1. signInAnonymously পদ্ধতিতে কল করুন:
    WebWeb
    import { getAuth, signInAnonymously } from "firebase/auth";
    
    const auth = getAuth();
    signInAnonymously(auth)
      .then(() => {
        // Signed in..
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ...
      });
    firebase.auth().signInAnonymously()
      .then(() => {
        // Signed in..
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });
    এটিও যেখানে আপনি ত্রুটিগুলি ধরতে এবং পরিচালনা করতে পারেন৷ ত্রুটি কোডের একটি তালিকার জন্য প্রমাণীকরণ রেফারেন্স ডক্স দেখুন।
  2. যদি signInAnonymously পদ্ধতিটি ত্রুটি ছাড়াই সম্পন্ন হয়, তাহলে onAuthStateChanged এ নিবন্ধিত পর্যবেক্ষক ট্রিগার করবে এবং আপনি User অবজেক্ট থেকে বেনামী ব্যবহারকারীর অ্যাকাউন্ট ডেটা পেতে পারেন:
    WebWeb
    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
        // ...
      }
    });
    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
        // ...
      }
    });

একটি বেনামী অ্যাকাউন্ট একটি স্থায়ী অ্যাকাউন্টে রূপান্তর করুন

যখন একজন বেনামী ব্যবহারকারী আপনার অ্যাপে সাইন আপ করেন, তখন আপনি তাদের নতুন অ্যাকাউন্ট দিয়ে তাদের কাজ চালিয়ে যাওয়ার অনুমতি দিতে চাইতে পারেন—উদাহরণস্বরূপ, ব্যবহারকারীরা তাদের নতুন অ্যাকাউন্টে সাইন আপ করার আগে তাদের শপিং কার্টে যোগ করা আইটেমগুলি আপনি করতে চাইতে পারেন। অ্যাকাউন্টের শপিং কার্ট। এটি করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. ব্যবহারকারী সাইন আপ করলে, ব্যবহারকারীর প্রমাণীকরণ প্রদানকারীর জন্য সাইন-ইন প্রবাহ সম্পূর্ণ করুন, কিন্তু অন্তর্ভুক্ত নয়, Auth.signInWith পদ্ধতিগুলির একটিতে কল করা। উদাহরণস্বরূপ, ব্যবহারকারীর গুগল আইডি টোকেন, ফেসবুক অ্যাক্সেস টোকেন বা ইমেল ঠিকানা এবং পাসওয়ার্ড পান।
  2. নতুন প্রমাণীকরণ প্রদানকারীর জন্য একটি AuthCredential পান:

    Google সাইন-ইন
    WebWeb
    import { GoogleAuthProvider } from "firebase/auth";
    
    const credential = GoogleAuthProvider.credential(
      googleUser.getAuthResponse().id_token);
    var credential = firebase.auth.GoogleAuthProvider.credential(
      googleUser.getAuthResponse().id_token);
    ফেসবুক লগইন
    WebWeb
    import { FacebookAuthProvider } from "firebase/auth";
    
    const credential = FacebookAuthProvider.credential(
      response.authResponse.accessToken);
    var credential = firebase.auth.FacebookAuthProvider.credential(
      response.authResponse.accessToken);
    ইমেল-পাসওয়ার্ড সাইন-ইন
    WebWeb
    import { EmailAuthProvider } from "firebase/auth";
    
    const credential = EmailAuthProvider.credential(email, password);
    var credential = firebase.auth.EmailAuthProvider.credential(email, password);
  3. সাইন-ইন ব্যবহারকারীর link পদ্ধতিতে AuthCredential অবজেক্টটি পাস করুন:

    WebWeb
    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);
      });
    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 করার কল সফল হলে, ব্যবহারকারীর নতুন অ্যাকাউন্ট বেনামী অ্যাকাউন্টের Firebase ডেটা অ্যাক্সেস করতে পারে।

স্বয়ংক্রিয় ক্লিন-আপ

আপনি যদি আপনার প্রোজেক্টটিকে Firebase Authentication with Identity Platform আপগ্রেড করে থাকেন, তাহলে আপনি Firebase কনসোলে স্বয়ংক্রিয় ক্লিন-আপ সক্ষম করতে পারেন। আপনি যখন এই বৈশিষ্ট্যটি সক্ষম করবেন তখন আপনি Firebaseকে 30 দিনের বেশি পুরানো বেনামী অ্যাকাউন্টগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলার অনুমতি দেবেন। স্বয়ংক্রিয় ক্লিন-আপ সক্ষম করা প্রকল্পগুলিতে, বেনামী প্রমাণীকরণ ব্যবহারের সীমা বা বিলিং কোটার জন্য গণনা করা হবে না।

  • স্বয়ংক্রিয় ক্লিন-আপ সক্ষম করার পরে তৈরি করা যে কোনও বেনামী অ্যাকাউন্ট তৈরি হওয়ার 30 দিন পরে যে কোনও সময় স্বয়ংক্রিয়ভাবে মুছে ফেলা হতে পারে।
  • বিদ্যমান বেনামী অ্যাকাউন্টগুলি স্বয়ংক্রিয়ভাবে ক্লিন-আপ সক্ষম করার 30 দিন পরে স্বয়ংক্রিয়ভাবে মুছে ফেলার জন্য যোগ্য হবে৷
  • আপনি যদি স্বয়ংক্রিয়ভাবে ক্লিন-আপ বন্ধ করে দেন, মুছে ফেলার জন্য নির্ধারিত যে কোনো বেনামী অ্যাকাউন্ট মুছে ফেলার জন্য নির্ধারিত থাকবে।
  • আপনি যদি একটি বেনামী অ্যাকাউন্টটিকে যেকোনো সাইন-ইন পদ্ধতিতে লিঙ্ক করে "আপগ্রেড" করেন, তাহলে অ্যাকাউন্টটি স্বয়ংক্রিয়ভাবে মুছে যাবে না।

আপনি যদি দেখতে চান যে আপনি এই বৈশিষ্ট্যটি সক্ষম করার আগে কতজন ব্যবহারকারী প্রভাবিত হবেন, এবং আপনি আপনার প্রকল্পটিকে Firebase Authentication with Identity Platform আপগ্রেড করেছেন, আপনি Cloud Logging-is_anon দ্বারা ফিল্টার করতে পারেন।

পরবর্তী পদক্ষেপ

এখন যেহেতু ব্যবহারকারীরা Firebase দিয়ে প্রমাণীকরণ করতে পারে, আপনি Firebase নিয়মগুলি ব্যবহার করে আপনার Firebase ডাটাবেসের ডেটাতে তাদের অ্যাক্সেস নিয়ন্ত্রণ করতে পারেন।