Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

قم بالمصادقة باستخدام Firebase باستخدام حسابات تستند إلى كلمة مرور باستخدام Unity

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

يمكنك استخدام مصادقة Firebase للسماح للمستخدمين بالمصادقة باستخدام Firebase باستخدام عناوين البريد الإلكتروني وكلمات المرور الخاصة بهم ، ولإدارة الحسابات المستندة إلى كلمة مرور التطبيق.

قبل ان تبدأ

قبل أن تتمكن من استخدام مصادقة Firebase ، تحتاج إلى:

  • سجل مشروع Unity الخاص بك وقم بتكوينه لاستخدام Firebase.

    • إذا كان مشروع Unity الخاص بك يستخدم Firebase بالفعل ، فهذا يعني أنه تم تسجيله وتهيئته بالفعل لـ Firebase.

    • إذا لم يكن لديك مشروع Unity ، فيمكنك تنزيل نموذج للتطبيق .

  • أضف Firebase Unity SDK (على وجه التحديد ، FirebaseAuth.unitypackage ) إلى مشروع Unity الخاص بك.

لاحظ أن إضافة Firebase إلى مشروع Unity الخاص بك يتضمن مهامًا في كل من وحدة تحكم Firebase وفي مشروع Unity المفتوح (على سبيل المثال ، يمكنك تنزيل ملفات تهيئة Firebase من وحدة التحكم ، ثم نقلها إلى مشروع الوحدة الخاص بك).

قم بالوصول إلى فئة Firebase.Auth.FirebaseAuth

فئة FirebaseAuth هي البوابة لجميع استدعاءات واجهة برمجة التطبيقات. يمكن الوصول إليه من خلال FirebaseAuth.DefaultInstance .
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

قم بإنشاء حساب مستند إلى كلمة المرور

لإنشاء حساب مستخدم جديد بكلمة مرور ، أكمل الخطوات التالية في رمز تسجيل الدخول لتطبيقك:

  1. عندما يقوم مستخدم جديد بالتسجيل باستخدام نموذج الاشتراك في التطبيق الخاص بك ، أكمل أي خطوات جديدة للتحقق من صحة الحساب يتطلبها تطبيقك ، مثل التحقق من كتابة كلمة مرور الحساب الجديد بشكل صحيح وتلبية متطلبات التعقيد الخاصة بك.
  2. أنشئ حسابًا جديدًا عن طريق تمرير عنوان البريد الإلكتروني وكلمة المرور للمستخدم الجديد إلى FirebaseAuth.CreateUserWithEmailAndPassword :
    auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
        return;
      }
    
      // Firebase user has been created.
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("Firebase user created successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    

سجّل دخول مستخدم بعنوان بريد إلكتروني وكلمة مرور

تشبه خطوات تسجيل دخول مستخدم بكلمة مرور خطوات إنشاء حساب جديد. في وظيفة تسجيل الدخول لتطبيقك ، قم بما يلي:

  1. عندما يقوم المستخدم بتسجيل الدخول إلى تطبيقك ، قم بتمرير عنوان البريد الإلكتروني وكلمة المرور للمستخدم إلى FirebaseAuth.SignInWithEmailAndPassword
    auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithEmailAndPasswordAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithEmailAndPasswordAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    
  2. يمكنك أيضًا إنشاء بيانات الاعتماد وتسجيل الدخول مثل مهام سير العمل الأخرى:
    Firebase.Auth.Credential credential =
        Firebase.Auth.EmailAuthProvider.GetCredential(email, password);
    auth.SignInWithCredentialAsync(credential).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithCredentialAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    

الخطوات التالية

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

  • في تطبيقاتك ، يمكنك الحصول على معلومات الملف الشخصي الأساسية للمستخدم من كائن Firebase.Auth.FirebaseUser :

    Firebase.Auth.FirebaseUser user = auth.CurrentUser;
    if (user != null) {
      string name = user.DisplayName;
      string email = user.Email;
      System.Uri photo_url = user.PhotoUrl;
      // The user's Id, unique to the Firebase project.
      // Do NOT use this value to authenticate with your backend server, if you
      // have one; use User.TokenAsync() instead.
      string uid = user.UserId;
    }
    
  • في قاعدة بيانات Firebase Realtime وقواعد أمان التخزين السحابي ، يمكنك الحصول على معرف المستخدم الفريد للمستخدم الذي قام بتسجيل الدخول من متغير auth ، واستخدامه للتحكم في البيانات التي يمكن للمستخدم الوصول إليها.

يمكنك السماح للمستخدمين بتسجيل الدخول إلى تطبيقك باستخدام موفري مصادقة متعددين عن طريق ربط بيانات اعتماد موفر المصادقة بحساب مستخدم حالي.

لتسجيل خروج مستخدم ، اتصل SignOut() :

auth.SignOut();