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

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

শুরু করার আগে

  1. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে শুরু করুন নির্দেশিকার ধাপগুলি অনুসরণ করুন।

  2. বেনামী সাইন-ইন সক্ষম করুন:

    • ফায়ারবেস কনসোলের প্রমাণীকরণ বিভাগে, সাইন ইন পদ্ধতি পৃষ্ঠাটি খুলুন।
    • সাইন ইন পদ্ধতি পৃষ্ঠা থেকে, বেনামী সাইন-ইন পদ্ধতি সক্ষম করুন এবং সংরক্ষণ করুন এ ক্লিক করুন।

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

যখন একজন সাইন-আউট ব্যবহারকারী এমন একটি অ্যাপ বৈশিষ্ট্য ব্যবহার করেন যার জন্য Firebase-এর সাথে প্রমাণীকরণ প্রয়োজন, তখন signInAnonymously() কল করে ব্যবহারকারীকে বেনামে সাইন ইন করুন:

try {
  final userCredential =
      await FirebaseAuth.instance.signInAnonymously();
  print("Signed in with temporary account.");
} on FirebaseAuthException catch (e) {
  switch (e.code) {
    case "operation-not-allowed":
      print("Anonymous auth hasn't been enabled for this project.");
      break;
    default:
      print("Unknown error.");
  }
}

একটি বেনামী অ্যাকাউন্টকে স্থায়ী অ্যাকাউন্টে রূপান্তর করুন

যখন কোনও বেনামী ব্যবহারকারী আপনার অ্যাপে সাইন আপ করেন, তখন আপনি তাদের নতুন অ্যাকাউন্ট দিয়ে তাদের কাজ চালিয়ে যাওয়ার অনুমতি দিতে পারেন—উদাহরণস্বরূপ, আপনি তাদের নতুন অ্যাকাউন্টের শপিং কার্টে সাইন আপ করার আগে ব্যবহারকারীর যোগ করা আইটেমগুলি তাদের নতুন অ্যাকাউন্টের শপিং কার্টে উপলব্ধ করতে চাইতে পারেন। এটি করার জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. ব্যবহারকারী সাইন আপ করলে, ব্যবহারকারীর প্রমাণীকরণ প্রদানকারীর জন্য সাইন-ইন প্রবাহ সম্পূর্ণ করুন, তবে অন্তর্ভুক্ত নয়, signInWith - পদ্ধতিগুলির মধ্যে একটিতে কল করে। উদাহরণস্বরূপ, ব্যবহারকারীর Google ID টোকেন, Facebook অ্যাক্সেস টোকেন, অথবা ইমেল ঠিকানা এবং পাসওয়ার্ড পান।

  2. নতুন প্রমাণীকরণ প্রদানকারীর জন্য একটি Credential বস্তু পান:

    // Google Sign-in
    final credential = GoogleAuthProvider.credential(idToken: idToken);
    
    // Email and password sign-in
    final credential =
        EmailAuthProvider.credential(email: emailAddress, password: password);
    
    // Etc.
    
  3. সাইন-ইন ব্যবহারকারীর linkWithCredential() পদ্ধতিতে Credential অবজেক্টটি পাস করুন:

    try {
      final userCredential = await FirebaseAuth.instance.currentUser
          ?.linkWithCredential(credential);
    } on FirebaseAuthException catch (e) {
      switch (e.code) {
        case "provider-already-linked":
          print("The provider has already been linked to the user.");
          break;
        case "invalid-credential":
          print("The provider's credential is not valid.");
          break;
        case "credential-already-in-use":
          print("The account corresponding to the credential already exists, "
              "or is already linked to a Firebase User.");
          break;
        // See the API reference for the full list of error codes.
        default:
          print("Unknown error.");
      }
      ```
    

যদি linkWithCredential() এ কলটি সফল হয়, তাহলে ব্যবহারকারীর নতুন অ্যাকাউন্টটি বেনামী অ্যাকাউন্টের Firebase ডেটা অ্যাক্সেস করতে পারবে।

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

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

আপনার অ্যাপগুলিতে, আপনি User অবজেক্ট থেকে ব্যবহারকারীর মৌলিক প্রোফাইল তথ্য পেতে পারেন। ব্যবহারকারীদের পরিচালনা করুন দেখুন।

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

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

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

await FirebaseAuth.instance.signOut();