با استفاده از C ++ به طور ناشناس با Firebase احراز هویت شوید

می توانید از احراز هویت Firebase برای ایجاد و استفاده از حساب های ناشناس موقت برای احراز هویت با Firebase استفاده کنید. از این حسابهای ناشناس موقت می توان استفاده کرد تا به کاربرانی که هنوز در برنامه شما ثبت نام نکرده اند اجازه دهند با داده های محافظت شده توسط قوانین امنیتی کار کنند. اگر یک کاربر ناشناس تصمیم می گیرد به ثبت نام برای برنامه خود را، شما می توانید ورود به سیستم خود اعتبار به حساب ناشناس پیوند به طوری که آنها می توانند به کار با داده های حفاظت شده خود در جلسات آینده ادامه خواهد داد.

قبل از اینکه شروع کنی

  1. اضافه کردن فایربیس را به پروژه خود C ++ .
  2. اگر هنوز برنامه خود را متصل به پروژه فایربیس شما نیست، انجام این کار از کنسول فایربیس .
  3. نویسنده ناشناس را فعال کنید:
    1. در فایربیس کنسول ، باز کردن بخش تایید.
    2. بر روی ثبت نام در روش صفحه، فعال کردن ناشناس ورود به سیستم روش.

با Firebase به صورت ناشناس احراز هویت کنید

هنگامی که کاربر خارج از سیستم از ویژگی برنامه ای استفاده می کند که نیاز به احراز هویت با Firebase دارد ، با انجام مراحل زیر ، کاربر را به صورت ناشناس وارد کنید:

Auth کلاس دروازه برای همه تماس API است.
  1. اضافه کردن فایل های هدر تایید و برنامه:
    #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::auth::Auth کلاس برای خود firebase::App . یک نگاشت یک به یک بین 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 روش. به عنوان مثال ، رمز Google ID کاربر ، رمز دسترسی فیس بوک یا آدرس ایمیل و رمز عبور را دریافت کنید.
    2. دریافت auth::Credential برای ارائه دهنده احراز هویت جدید:

      Google وارد شوید
      firebase::auth::Credential credential =
          firebase::auth::GoogleAuthProvider::GetCredential(google_id_token,
                                                            nullptr);
      
      فیس بوک ورود به
      firebase::auth::Credential credential =
          firebase::auth::FacebookAuthProvider::GetCredential(access_token);
      
      ایمیل رمز عبور ورود به سیستم
      firebase::auth::Credential credential =
          firebase::auth::EmailAuthProvider::GetCredential(email, password);
      
    3. رمز عبور auth::Credential شیء را به ثبت نام در کاربر LinkWithCredential روش:

      // 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 خود با استفاده از کنترل قوانین فایربیس .