Google is committed to advancing racial equity for Black communities. See how.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

אמת באמצעות Firebase באמצעות מערכת אימות מותאמת אישית ואחדות

באפשרותך לשלב אימות Firebase עם מערכת אימות מותאמת אישית על ידי שינוי שרת האימות שלך כדי לייצר אסימונים חתומים בהתאמה אישית כאשר משתמש נכנס בהצלחה. האפליקציה שלך מקבלת אסימון זה ומשתמש בו לאימות עם Firebase.

לפני שאתה מתחיל

  1. לפני שתוכל להשתמש באימות Firebase , עליך:

    • רשום את פרויקט Unity שלך עם פרויקט Firebase שלך.
    • הוסף את ה- SDK של Firebase Unity (במיוחד FirebaseAuth.unitypackage ) לפרויקט Unity שלך.

    מצא הוראות מפורטות לשלבי ההתקנה הראשוניים האלה בסעיף הוספת Firebase לפרויקט Unity שלך .

  2. קבל את מפתחות השרת של הפרויקט שלך:
    1. עבור לדף חשבונות השירות בהגדרות הפרויקט שלך.
    2. לחץ על צור מפתח פרטי חדש בתחתית החלק של מנהל SDK של Firebase בדף חשבונות השירות .
    3. צמד המפתחות הציבורי / הפרטי של חשבון השירות החדש נשמר אוטומטית במחשב שלך. העתק קובץ זה לשרת האימות שלך.

אמת עם Firebase

המחלקה של FirebaseAuth היא השער לכל שיחות ה- API. ניתן לגשת אליו דרך FirebaseAuth.DefaultInstance .
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

התקשר ל- Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync עם האסימון משרת האימות שלך.

  1. כאשר משתמשים נכנסים לאפליקציה שלך, שלח את אישורי הכניסה שלהם (למשל, שם המשתמש והסיסמה שלהם) לשרת האימות שלך. השרת שלך בודק את האישורים ומחזיר אסימון מותאם אישית אם הם תקפים.
  2. לאחר שתקבל את האסימון המותאם אישית משרת האימות שלך, העבר אותו ל- Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync כדי להיכנס למשתמש:
    auth.SignInWithCustomTokenAsync(custom_token).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithCustomTokenAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithCustomTokenAsync 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 ובכללי האבטחה של אחסון ענן, אתה יכול לקבל את מזהה המשתמש הייחודי של המשתמש auth ממשתנה auth , ולהשתמש בו כדי לשלוט לאילו נתונים המשתמש יכול לגשת.

באפשרותך לאפשר למשתמשים להיכנס לאפליקציה שלך באמצעות ספקי אימות מרובים על ידי קישור אישורי ספק האימות לחשבון משתמש קיים.

כדי לצאת ממשתמש, התקשר ל- SignOut() :

auth.SignOut();