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

আপনি ফায়ারবেস অথেনটিকেশন ব্যবহার করে আপনার ব্যবহারকারীদের ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে ফায়ারবেসে প্রমাণীকরণের সুযোগ দিতে পারেন।

শুরু করার আগে

  1. যদি আগে থেকে না করে থাকেন, তাহলে ‘শুরু করার নির্দেশিকা’-তে দেওয়া ধাপগুলো অনুসরণ করুন।

  2. ইমেল/পাসওয়ার্ড দিয়ে সাইন-ইন চালু করুন:

    • Firebase কনসোলের Authentication সেকশনে, Sign in method পেজটি খুলুন।
    • সাইন ইন পদ্ধতি পেজ থেকে, ইমেল/পাসওয়ার্ড সাইন-ইন পদ্ধতিটি সক্রিয় করুন এবং সেভ-এ ক্লিক করুন।

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

পাসওয়ার্ড সহ একটি নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে, createUserWithEmailAndPassword() মেথডটি কল করুন:

try {
  final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: emailAddress,
    password: password,
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'weak-password') {
    print('The password provided is too weak.');
  } else if (e.code == 'email-already-in-use') {
    print('The account already exists for that email.');
  }
} catch (e) {
  print(e);
}

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

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

নতুন অ্যাকাউন্ট তৈরি করার পরবর্তী পদক্ষেপ হিসেবে, আপনি ব্যবহারকারীর ইমেল ঠিকানা যাচাই করতে পারেন।

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

পাসওয়ার্ড দিয়ে একজন ব্যবহারকারীকে সাইন ইন করানোর ধাপগুলো একটি নতুন অ্যাকাউন্ট তৈরি করার ধাপগুলোর মতোই। আপনার অ্যাপের সাইন-ইন স্ক্রিন থেকে, signInWithEmailAndPassword() কল করুন:

try {
  final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: emailAddress,
    password: password
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'user-not-found') {
    print('No user found for that email.');
  } else if (e.code == 'wrong-password') {
    print('Wrong password provided for that user.');
  }
}

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

কোনো ব্যবহারকারী একটি নতুন অ্যাকাউন্ট তৈরি করার পর, এই অ্যাকাউন্টটি আপনার Firebase প্রজেক্টের অংশ হিসেবে সংরক্ষিত হয় এবং ব্যবহারকারী কোন সাইন-ইন পদ্ধতি ব্যবহার করেছেন তা নির্বিশেষে, আপনার প্রজেক্টের প্রতিটি অ্যাপে তাকে শনাক্ত করতে এটি ব্যবহার করা যেতে পারে।

আপনার অ্যাপে, আপনি User অবজেক্ট থেকে ব্যবহারকারীর প্রাথমিক প্রোফাইল তথ্য পেতে পারেন। ব্যবহারকারী ব্যবস্থাপনা (Manage Users) দেখুন।

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

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

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

await FirebaseAuth.instance.signOut();