জাভাস্ক্রিপ্ট ব্যবহার করে পাসওয়ার্ড-ভিত্তিক অ্যাকাউন্ট ব্যবহার করে ফায়ারবেসের সাথে প্রমাণীকরণ করুন

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

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

  1. আপনার JavaScript প্রকল্পে Firebase যোগ করুন
  2. আপনি যদি এখনও আপনার অ্যাপটিকে আপনার Firebase প্রকল্পের সাথে সংযুক্ত না করে থাকেন, তাহলে Firebase কনসোল থেকে তা করুন৷
  3. ইমেল/পাসওয়ার্ড সাইন-ইন সক্ষম করুন:
    1. Firebase কনসোলে , Auth বিভাগটি খুলুন।
    2. সাইন ইন পদ্ধতি ট্যাবে, ইমেল/পাসওয়ার্ড সাইন-ইন পদ্ধতি সক্ষম করুন এবং সংরক্ষণ করুন ক্লিক করুন।

একটি পাসওয়ার্ড-ভিত্তিক অ্যাকাউন্ট তৈরি করুন

একটি পাসওয়ার্ড সহ একটি নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে, আপনার অ্যাপের সাইন-আপ পৃষ্ঠায় নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. যখন একজন নতুন ব্যবহারকারী আপনার অ্যাপের সাইন-আপ ফর্ম ব্যবহার করে সাইন আপ করেন, তখন আপনার অ্যাপের প্রয়োজনীয় যেকোন নতুন অ্যাকাউন্ট যাচাইকরণের ধাপগুলি সম্পূর্ণ করুন, যেমন নতুন অ্যাকাউন্টের পাসওয়ার্ড সঠিকভাবে টাইপ করা হয়েছে কিনা এবং আপনার জটিলতার প্রয়োজনীয়তা পূরণ করে তা যাচাই করা।
  2. 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;
        // ..
      });
    নতুন অ্যাকাউন্ট তৈরি করা হলে, ব্যবহারকারী স্বয়ংক্রিয়ভাবে সাইন ইন হয়। সাইন ইন করা ব্যবহারকারীর বিশদ বিবরণ পেতে নীচের পরবর্তী পদক্ষেপগুলি দেখুন৷

    এটিও যেখানে আপনি ত্রুটিগুলি ধরতে এবং পরিচালনা করতে পারেন৷ ত্রুটি কোডের একটি তালিকার জন্য প্রমাণীকরণ রেফারেন্স ডক্স দেখুন।

একটি ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে একটি ব্যবহারকারী সাইন ইন করুন

একটি পাসওয়ার্ড দিয়ে একটি ব্যবহারকারী সাইন ইন করার পদক্ষেপগুলি একটি নতুন অ্যাকাউন্ট তৈরির পদক্ষেপগুলির অনুরূপ৷ আপনার অ্যাপের সাইন-ইন পৃষ্ঠায়, নিম্নলিখিতগুলি করুন:

  1. যখন একজন ব্যবহারকারী আপনার অ্যাপে সাইন ইন করেন, তখন ব্যবহারকারীর ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে 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;
      });
    সাইন ইন করা ব্যবহারকারীর বিশদ বিবরণ পেতে নীচের পরবর্তী পদক্ষেপগুলি দেখুন৷

    এটিও যেখানে আপনি ত্রুটিগুলি ধরতে এবং পরিচালনা করতে পারেন৷ ত্রুটি কোডের একটি তালিকার জন্য প্রমাণীকরণ রেফারেন্স ডক্স দেখুন।

প্রস্তাবিত: ইমেল গণনা সুরক্ষা সক্ষম করুন

কিছু Firebase Authentication পদ্ধতি যেগুলি ইমেল ঠিকানাগুলিকে প্যারামিটার হিসাবে গ্রহণ করে সেগুলি নির্দিষ্ট ত্রুটিগুলি ফেলে যদি ইমেল ঠিকানাটি নিবন্ধিত না থাকে যখন এটি নিবন্ধিত হতে হবে (উদাহরণস্বরূপ, একটি ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে সাইন ইন করার সময়), বা যখন এটি অবশ্যই অব্যবহৃত হবে তখন নিবন্ধিত হবে (উদাহরণস্বরূপ, ব্যবহারকারীর ইমেল ঠিকানা পরিবর্তন করার সময়)। যদিও এটি ব্যবহারকারীদের নির্দিষ্ট প্রতিকারের পরামর্শ দেওয়ার জন্য সহায়ক হতে পারে, এটি আপনার ব্যবহারকারীদের দ্বারা নিবন্ধিত ইমেল ঠিকানাগুলি আবিষ্কার করার জন্য দূষিত অভিনেতাদের দ্বারা অপব্যবহার করা যেতে পারে।

এই ঝুঁকি কমাতে, আমরা আপনাকে Google Cloud gcloud টুল ব্যবহার করে আপনার প্রকল্পের জন্য ইমেল গণনা সুরক্ষা সক্ষম করার সুপারিশ করছি। মনে রাখবেন যে এই বৈশিষ্ট্যটি সক্ষম করলে Firebase Authentication ত্রুটি রিপোর্টিং আচরণ পরিবর্তন হয়: নিশ্চিত হন যে আপনার অ্যাপটি আরও নির্দিষ্ট ত্রুটির উপর নির্ভর করে না।

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

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

  • আপনার অ্যাপে, আপনার ব্যবহারকারীর প্রমাণীকরণের স্থিতি জানার প্রস্তাবিত উপায় হল 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.
});
,

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

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

  1. আপনার JavaScript প্রকল্পে Firebase যোগ করুন
  2. আপনি যদি এখনও আপনার অ্যাপটিকে আপনার Firebase প্রকল্পের সাথে সংযুক্ত না করে থাকেন, তাহলে Firebase কনসোল থেকে তা করুন৷
  3. ইমেল/পাসওয়ার্ড সাইন-ইন সক্ষম করুন:
    1. Firebase কনসোলে , Auth বিভাগটি খুলুন।
    2. সাইন ইন পদ্ধতি ট্যাবে, ইমেল/পাসওয়ার্ড সাইন-ইন পদ্ধতি সক্ষম করুন এবং সংরক্ষণ করুন ক্লিক করুন।

একটি পাসওয়ার্ড-ভিত্তিক অ্যাকাউন্ট তৈরি করুন

একটি পাসওয়ার্ড সহ একটি নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে, আপনার অ্যাপের সাইন-আপ পৃষ্ঠায় নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. যখন একজন নতুন ব্যবহারকারী আপনার অ্যাপের সাইন-আপ ফর্ম ব্যবহার করে সাইন আপ করেন, তখন আপনার অ্যাপের প্রয়োজনীয় যেকোন নতুন অ্যাকাউন্ট যাচাইকরণের ধাপগুলি সম্পূর্ণ করুন, যেমন নতুন অ্যাকাউন্টের পাসওয়ার্ড সঠিকভাবে টাইপ করা হয়েছে কিনা এবং আপনার জটিলতার প্রয়োজনীয়তা পূরণ করে তা যাচাই করা।
  2. 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;
        // ..
      });
    নতুন অ্যাকাউন্ট তৈরি করা হলে, ব্যবহারকারী স্বয়ংক্রিয়ভাবে সাইন ইন হয়। সাইন ইন করা ব্যবহারকারীর বিশদ বিবরণ পেতে নীচের পরবর্তী পদক্ষেপগুলি দেখুন৷

    এটিও যেখানে আপনি ত্রুটিগুলি ধরতে এবং পরিচালনা করতে পারেন৷ ত্রুটি কোডের একটি তালিকার জন্য প্রমাণীকরণ রেফারেন্স ডক্স দেখুন।

একটি ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে একটি ব্যবহারকারী সাইন ইন করুন

একটি পাসওয়ার্ড দিয়ে একটি ব্যবহারকারী সাইন ইন করার পদক্ষেপগুলি একটি নতুন অ্যাকাউন্ট তৈরির পদক্ষেপগুলির অনুরূপ৷ আপনার অ্যাপের সাইন-ইন পৃষ্ঠায়, নিম্নলিখিতগুলি করুন:

  1. যখন একজন ব্যবহারকারী আপনার অ্যাপে সাইন ইন করেন, তখন ব্যবহারকারীর ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে 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;
      });
    সাইন ইন করা ব্যবহারকারীর বিশদ বিবরণ পেতে নীচের পরবর্তী পদক্ষেপগুলি দেখুন৷

    এটিও যেখানে আপনি ত্রুটিগুলি ধরতে এবং পরিচালনা করতে পারেন৷ ত্রুটি কোডের একটি তালিকার জন্য প্রমাণীকরণ রেফারেন্স ডক্স দেখুন।

প্রস্তাবিত: ইমেল গণনা সুরক্ষা সক্ষম করুন

কিছু Firebase Authentication পদ্ধতি যেগুলি ইমেল ঠিকানাগুলিকে প্যারামিটার হিসাবে গ্রহণ করে সেগুলি নির্দিষ্ট ত্রুটিগুলি ফেলে যদি ইমেল ঠিকানাটি নিবন্ধিত না থাকে যখন এটি নিবন্ধিত হতে হবে (উদাহরণস্বরূপ, একটি ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে সাইন ইন করার সময়), বা যখন এটি অবশ্যই অব্যবহৃত হবে তখন নিবন্ধিত হবে (উদাহরণস্বরূপ, ব্যবহারকারীর ইমেল ঠিকানা পরিবর্তন করার সময়)। যদিও এটি ব্যবহারকারীদের নির্দিষ্ট প্রতিকারের পরামর্শ দেওয়ার জন্য সহায়ক হতে পারে, এটি আপনার ব্যবহারকারীদের দ্বারা নিবন্ধিত ইমেল ঠিকানাগুলি আবিষ্কার করার জন্য দূষিত অভিনেতাদের দ্বারা অপব্যবহার করা যেতে পারে।

এই ঝুঁকি কমাতে, আমরা আপনাকে Google Cloud gcloud টুল ব্যবহার করে আপনার প্রকল্পের জন্য ইমেল গণনা সুরক্ষা সক্ষম করার সুপারিশ করছি। মনে রাখবেন যে এই বৈশিষ্ট্যটি সক্ষম করলে Firebase Authentication ত্রুটি রিপোর্টিং আচরণ পরিবর্তন হয়: নিশ্চিত হন যে আপনার অ্যাপটি আরও নির্দিষ্ট ত্রুটির উপর নির্ভর করে না।

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

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

  • আপনার অ্যাপে, আপনার ব্যবহারকারীর প্রমাণীকরণের স্থিতি জানার প্রস্তাবিত উপায় হল 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.
});