Check out what’s new from Firebase at Google I/O 2022. Learn more

C++ ব্যবহার করে বেনামে ফায়ারবেস দিয়ে প্রমাণীকরণ করুন

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

তুমি শুরু করার আগে

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

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

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

Auth ক্লাস হল সমস্ত API কলের গেটওয়ে।
  1. Auth এবং অ্যাপ হেডার ফাইল যোগ করুন:
    #include "firebase/app.h"
    #include "firebase/auth.h"
    
  2. আপনার ইনিশিয়ালাইজেশন কোডে, একটি firebase::App ক্লাস তৈরি করুন।
    #if defined(__ANDROID__)
      firebase::App* app =
          firebase::App::Create(firebase::AppOptions(), my_jni_env, my_activity);
    #else
      firebase::App* app = firebase::App::Create(firebase::AppOptions());
    #endif  // defined(__ANDROID__)
    
  3. আপনার firebase::App এর জন্য firebase::auth::Auth ক্লাস অর্জন করুন। App এবং Auth এর মধ্যে ওয়ান-টু-ওয়ান ম্যাপিং আছে।
    firebase::auth::Auth* auth = firebase::auth::Auth::GetAuth(app);
    
  • কল Auth::SignInAnonymously
    firebase::Future<firebase::auth::User*> result = auth->SignInAnonymously();
    
  • যদি আপনার প্রোগ্রামে একটি আপডেট লুপ থাকে যা নিয়মিত চলে (বলুন প্রতি সেকেন্ডে 30 বা 60 বার), আপনি Auth::SignInAnonymouslyLastResult :
    firebase::Future<firebase::auth::User*> result =
        auth->SignInAnonymouslyLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      if (result.error() == firebase::auth::kAuthErrorNone) {
        firebase::auth::User* user = *result.result();
        printf("Sign in succeeded for `%s`\n", user->display_name().c_str());
      } else {
        printf("Sign in failed with error '%s'\n", result.error_message());
      }
    }
    
    দিয়ে আপডেট প্রতি একবার ফলাফল পরীক্ষা করতে পারেন অথবা, যদি আপনার প্রোগ্রাম ইভেন্ট চালিত হয়, আপনি পছন্দ করতে পারেন ভবিষ্যতে একটি কলব্যাক নিবন্ধন করতে।
  • একটি বেনামী অ্যাকাউন্ট একটি স্থায়ী অ্যাকাউন্টে রূপান্তর করুন

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

    1. যখন ব্যবহারকারী সাইন আপ করেন, ব্যবহারকারীর প্রমাণীকরণ প্রদানকারীর জন্য সাইন-ইন প্রবাহ সম্পূর্ণ করুন, কিন্তু অন্তর্ভুক্ত না করে, Auth::SignInWith পদ্ধতিগুলির একটিতে কল করুন৷ উদাহরণস্বরূপ, ব্যবহারকারীর গুগল আইডি টোকেন, ফেসবুক অ্যাক্সেস টোকেন বা ইমেল ঠিকানা এবং পাসওয়ার্ড পান।
    2. নতুন প্রমাণীকরণ প্রদানকারীর জন্য একটি auth::Credential পান:

      Google সাইন-ইন
      firebase::auth::Credential credential =
          firebase::auth::GoogleAuthProvider::GetCredential(google_id_token,
                                                            nullptr);
      
      Facebook লগইন
      firebase::auth::Credential credential =
          firebase::auth::FacebookAuthProvider::GetCredential(access_token);
      
      ইমেল-পাসওয়ার্ড সাইন-ইন
      firebase::auth::Credential credential =
          firebase::auth::EmailAuthProvider::GetCredential(email, password);
      
    3. সাইন-ইন ব্যবহারকারীর LinkWithCredential পদ্ধতিতে auth::Credential বস্তুটি পাস করুন:

      // Link the new credential to the currently active user.
      firebase::auth::User* current_user = auth->current_user();
      firebase::Future<firebase::auth::User*> result =
          current_user->LinkWithCredential(credential);
      

    LinkWithCredential এ কল সফল হলে, ব্যবহারকারীর নতুন অ্যাকাউন্ট বেনামী অ্যাকাউন্টের Firebase ডেটা অ্যাক্সেস করতে পারে।

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

    এখন যেহেতু ব্যবহারকারীরা Firebase দিয়ে প্রমাণীকরণ করতে পারে, আপনি Firebase নিয়মগুলি ব্যবহার করে আপনার Firebase ডাটাবেসের ডেটাতে তাদের অ্যাক্সেস নিয়ন্ত্রণ করতে পারেন।