يمكنك استخدام مصادقة Firebase لإنشاء واستخدام حسابات مؤقتة مجهولة المصدر للمصادقة مع Firebase. يمكن استخدام هذه الحسابات المجهولة المؤقتة للسماح للمستخدمين الذين لم يسجلوا بعد في تطبيقك بالعمل مع البيانات المحمية بقواعد الأمان. إذا قرر مستخدم مجهول التسجيل في تطبيقك ، فيمكنك ربط بيانات اعتماد تسجيل الدخول الخاصة به بالحساب المجهول حتى يتمكنوا من الاستمرار في العمل ببياناتهم المحمية في الجلسات المستقبلية.
قبل ان تبدأ
- أضف Firebase إلى مشروع C ++ الخاص بك .
- إذا لم تكن قد ربطت تطبيقك بمشروع Firebase حتى الآن ، فافعل ذلك من وحدة تحكم Firebase .
- تمكين المصادقة المجهولة:
- في وحدة تحكم Firebase ، افتح قسم المصادقة .
- في صفحة أساليب تسجيل الدخول ، قم بتمكين طريقة تسجيل الدخول المجهول .
مصادقة مع Firebase بشكل مجهول
عندما يستخدم مستخدم سجّل الخروج ميزة تطبيق تتطلب مصادقة مع Firebase ، سجّل دخول المستخدم كمجهول من خلال إكمال الخطوات التالية:
فئةAuth
هي البوابة لجميع استدعاءات API.- قم بإضافة ملفات رأس التطبيق والمصادقة:
#include "firebase/app.h" #include "firebase/auth.h"
- في رمز التهيئة ، أنشئ فئة
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__)
- احصل على
firebase::auth::Auth
class for yourfirebase::App
. هناك تعيين واحد لواحد بينApp
Auth
.firebase::auth::Auth* auth = firebase::auth::Auth::GetAuth(app);
Auth::SignInAnonymously
.firebase::Future<firebase::auth::User*> result = auth->SignInAnonymously();
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()); } }أو إذا كان برنامجك مدفوعًا بالأحداث ، فقد تفضل لتسجيل رد اتصال على المستقبل .
تحويل حساب مجهول إلى حساب دائم
عندما يقوم مستخدم مجهول بالتسجيل في التطبيق الخاص بك ، فقد ترغب في السماح لهم بمواصلة عملهم باستخدام حسابهم الجديد - على سبيل المثال ، قد ترغب في جعل العناصر التي أضافها المستخدم إلى عربة التسوق الخاصة بهم قبل تسجيلهم متوفرة في حسابهم الجديد. عربة تسوق الحساب. للقيام بذلك ، أكمل الخطوات التالية:
- عندما يقوم المستخدم بالتسجيل ، أكمل تدفق تسجيل الدخول لموفر مصادقة المستخدم حتى ، ولكن لا يشمل ، استدعاء إحدى طرق
Auth::SignInWith
. على سبيل المثال ، احصل على رمز معرف Google الخاص بالمستخدم أو رمز الوصول إلى Facebook أو عنوان البريد الإلكتروني وكلمة المرور. الحصول على
تسجيل الدخول إلى Googleauth::Credential
لموفر المصادقة الجديد:firebase::auth::Credential credential = firebase::auth::GoogleAuthProvider::GetCredential(google_id_token, nullptr);
تسجيل الدخول إلى Facebookfirebase::auth::Credential credential = firebase::auth::FacebookAuthProvider::GetCredential(access_token);
تسجيل الدخول إلى البريد الإلكتروني وكلمة المرورfirebase::auth::Credential credential = firebase::auth::EmailAuthProvider::GetCredential(email, password);
قم بتمرير الكائن
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 .