Catch up on everthing we announced at this year's Firebase Summit. Learn more

المصادقة مع Firebase بشكل مجهول باستخدام C ++

يمكنك استخدام مصادقة Firebase لإنشاء واستخدام حسابات مؤقتة مجهولة المصدر للمصادقة مع Firebase. يمكن استخدام هذه الحسابات المجهولة المؤقتة للسماح للمستخدمين الذين لم يسجلوا بعد في تطبيقك بالعمل مع البيانات المحمية بقواعد الأمان. إذا قرر مستخدم مجهول للتوقيع على التطبيق الخاص بك، يمكنك ربط على بيانات اعتماد تسجيل الدخول إلى الحساب المجهول حتى يتمكنوا من مواصلة العمل مع البيانات المحمية في الدورات المقبلة.

قبل ان تبدأ

  1. إضافة Firebase لمشروعك C ++ .
  2. إذا لم تكن متصلا بعد تطبيقك لمشروع Firebase قم بذلك من وحدة التحكم Firebase .
  3. تمكين المصادقة المجهولة:
    1. في وحدة التحكم Firebase ، فتح الباب أصيل.
    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 الخاص بالمستخدم أو رمز الوصول إلى Facebook أو عنوان البريد الإلكتروني وكلمة المرور.
    2. الحصول على auth::Credential لموفر المصادقة الجديد:

      جوجل الدخول في
      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، يمكنك التحكم في وصولهم إلى البيانات في قاعدة بيانات Firebase باستخدام قواعد Firebase .