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

কোনো ব্যবহারকারী সফলভাবে সাইন ইন করলে আপনি কাস্টম সাইনড টোকেন তৈরি করতে আপনার প্রমাণীকরণ সার্ভার পরিবর্তন করে একটি কাস্টম প্রমাণীকরণ সিস্টেমের সাথে Firebase প্রমাণীকরণকে একীভূত করতে পারেন৷ আপনার অ্যাপটি এই টোকেনটি গ্রহণ করে এবং Firebase এর সাথে প্রমাণীকরণের জন্য এটি ব্যবহার করে৷

তুমি শুরু করার আগে

  1. আপনার JavaScript প্রকল্পে Firebase যোগ করুন
  2. আপনার প্রকল্পের সার্ভার কী পান:
    1. আপনার প্রকল্পের সেটিংসে পরিষেবা অ্যাকাউন্ট পৃষ্ঠাতে যান।
    2. সার্ভিস অ্যাকাউন্ট পৃষ্ঠার ফায়ারবেস অ্যাডমিন SDK বিভাগের নীচে জেনারেট নিউ প্রাইভেট কী ক্লিক করুন।
    3. নতুন পরিষেবা অ্যাকাউন্টের পাবলিক/প্রাইভেট কী জোড়া আপনার কম্পিউটারে স্বয়ংক্রিয়ভাবে সংরক্ষিত হয়। আপনার প্রমাণীকরণ সার্ভারে এই ফাইলটি অনুলিপি করুন।

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

  1. যখন ব্যবহারকারীরা আপনার অ্যাপে সাইন ইন করে, তাদের সাইন-ইন শংসাপত্র (উদাহরণস্বরূপ, তাদের ব্যবহারকারীর নাম এবং পাসওয়ার্ড) আপনার প্রমাণীকরণ সার্ভারে পাঠান। আপনার সার্ভার শংসাপত্রগুলি পরীক্ষা করে এবং একটি কাস্টম টোকেন প্রদান করে যদি সেগুলি বৈধ হয়৷
  2. আপনি আপনার প্রমাণীকরণ সার্ভার থেকে কাস্টম টোকেন পাওয়ার পরে, ব্যবহারকারীকে সাইন ইন করতে signInWithCustomToken এ পাস করুন:

    Web version 9

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

    Web version 8

    firebase.auth().signInWithCustomToken(token)
      .then((userCredential) => {
        // Signed in
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });

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

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

  • আপনার অ্যাপে, আপনার ব্যবহারকারীর প্রমাণীকরণের স্থিতি জানার প্রস্তাবিত উপায় হল Auth অবজেক্টে একজন পর্যবেক্ষক সেট করা। তারপর আপনি User অবজেক্ট থেকে ব্যবহারকারীর মৌলিক প্রোফাইল তথ্য পেতে পারেন। ব্যবহারকারীদের পরিচালনা দেখুন।

  • আপনার ফায়ারবেস রিয়েলটাইম ডেটাবেস এবং ক্লাউড স্টোরেজ নিরাপত্তা নিয়মে , আপনি auth ভেরিয়েবল থেকে সাইন-ইন করা ব্যবহারকারীর অনন্য ব্যবহারকারী আইডি পেতে পারেন এবং ব্যবহারকারী কোন ডেটা অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করতে এটি ব্যবহার করতে পারেন।

আপনি একটি বিদ্যমান ব্যবহারকারীর অ্যাকাউন্টে প্রমাণীকরণ প্রদানকারীর শংসাপত্র লিঙ্ক করে একাধিক প্রমাণীকরণ প্রদানকারী ব্যবহার করে ব্যবহারকারীদের আপনার অ্যাপে সাইন ইন করার অনুমতি দিতে পারেন।

একজন ব্যবহারকারীকে সাইন আউট করতে, signOut কল করুন:

Web version 9

import { getAuth, signOut } from "firebase/auth";

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

Web version 8

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});