কাস্টম যাচাইকরণ সিস্টেম ব্যবহার করে জাভাস্ক্রিপ্টে Firebase-এর মাধ্যমে যাচাইকরণ

কোনও ব্যবহারকারী সফলভাবে সাইন-ইন করলে কাস্টম সাইন করা টোকেন তৈরি করার জন্য আপনার যাচাইকরণ সার্ভারকে পরিবর্তন করে আপনি কাস্টম যাচাইকরণ সিস্টেমের সাথে Firebase Authentication ইন্টিগ্রেট করতে পারবেন। আপনার অ্যাপ এই টোকেনটি পায় এবং Firebase-এর সাথে প্রমাণীকরণ করতে এটি ব্যবহার করে।

শুরু করার আগে

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

Firebase-এর মাধ্যমে যাচাইকরণ

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

    Web

    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

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

পরবর্তী ধাপ

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

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

  • আপনার Firebase Realtime Database এবং Cloud Storage নিরাপত্তা বিধিতে, আপনি auth ভেরিয়েবল থেকে সাইন-ইন করা ব্যবহারকারীর অনন্য ব্যবহারকারী আইডি পেতে এবং ব্যবহারকারী কোন ডেটা অ্যাক্সেস করতে পারবেন তা নিয়ন্ত্রণ করতে এটি ব্যবহার করতে পারবেন।

আপনি আগে থেকে থাকা ব্যবহারকারীর অ্যাকাউন্টের সাথে অনুমোদন প্রদানকারীর ক্রেডেনশিয়াল লিঙ্ক করে একাধিক অনুমোদন প্রদানকারীর মাধ্যমে আপনার অ্যাপে সাইন-ইন করার জন্য ব্যবহারকারীদের অনুমতি দিতে পারেন।

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

Web

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

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

Web

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