כדי לאפשר למשתמשים לבצע אימות ב-Firebase באמצעות חשבונות Twitter שלהם, אפשר לשלב באפליקציה את האפשרות 'כניסה באמצעות Twitter'.
לפני שמתחילים
כדי להשתמש ב-Firebase Authentication, צריך:
רושמים את הפרויקט ב-Unity ומגדירים אותו לשימוש ב-Firebase.
אם בפרויקט ב-Unity כבר נעשה שימוש ב-Firebase, הוא כבר משתמש ב-Firebase רשומה והוגדרה ל-Firebase.
אם אין לכם פרויקט ב-Unity, תוכלו להוריד אפליקציה לדוגמה.
מוסיפים את ה-SDK Firebase Unity (באופן ספציפי,
FirebaseAuth.unitypackage
) אל בפרויקט ב-Unity.
חשוב לזכור שההוספה של Firebase לפרויקט Unity כוללת משימות, במסוף Firebase ובפרויקט Unity הפתוח (לדוגמה, אתם מורידים קובצי תצורה של Firebase מהמסוף, ואז מעבירים אותם בפרויקט ב-Unity).
גישה לכיתה Firebase.Auth.FirebaseAuth
המחלקה FirebaseAuth
היא השער לכל הקריאות ל-API.
אפשר לגשת אליה דרך FirebaseAuth.DefaultInstance.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
אימות באמצעות Firebase
- פועלים לפי ההוראות לכניסה באמצעות Twitter כדי לקבל אסימון גישה מסוג OAuth וסודות OAuth.
- אחרי שהמשתמש נכנס לחשבון, מחליפים את אסימון הגישה בפרטי כניסה ל-Firebase ומבצעים אימות ב-Firebase באמצעות פרטי הכניסה ל-Firebase:
Firebase.Auth.Credential credential = Firebase.Auth.TwitterAuthProvider.GetCredential(accessToken, secret); auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInAndRetrieveDataWithCredentialAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInAndRetrieveDataWithCredentialAsync encountered an error: " + task.Exception); return; } Firebase.Auth.AuthResult result = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", result.User.DisplayName, result.User.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 Database ו-Cloud Storage כללי אבטחה – מקבלים את מזהה המשתמש הייחודי של המשתמש המחובר מהמשתנה
auth
, ולהשתמש בהם כדי לקבוע לאילו נתונים המשתמש יוכל לגשת.
אפשר לאפשר למשתמשים להיכנס לאפליקציה באמצעות מספר סוגי אימות מספקים באמצעות קישור פרטי הכניסה של ספק האימות קיים חשבון משתמש קיים.
כדי לנתק משתמש מהחשבון, יש להתקשר אל
SignOut()
auth.SignOut();