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

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

এআই সহায়তার জন্য, নিচের প্রম্পটটি আপনার এআই কোডিং এজেন্টে (যেমন অ্যান্ড্রয়েড স্টুডিওর জেমিনি, Antigravity , ক্লড কোড, কোডেক্স এবং কার্সর) কপি করুন। আপনি প্রম্পটটি কাস্টমাইজ করতে এবং আপনার এজেন্টের সাথে পুনরাবৃত্তি করতে পারেন। বিস্তারিত ইনস্টলেশন তথ্যের জন্য ফায়ারবেস এজেন্ট স্কিলস দেখুন।

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up and use Firebase Authentication with email and password authentication in my app.

শুরু করার আগে

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

  2. আপনার Firebase প্রোজেক্টের জন্য সাইন-ইন প্রদানকারী হিসেবে ইমেল/পাসওয়ার্ড সক্রিয় করুন:

    1. Firebase কনসোলে, Security > Authentication- এ যান।

    2. সাইন ইন পদ্ধতি ট্যাবে, ইমেল/পাসওয়ার্ড সাইন-ইন প্রদানকারীকে সক্রিয় করুন।

    3. সংরক্ষণ করুন- এ ক্লিক করুন।

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

পাসওয়ার্ড সহ একটি নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে, 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();