אפשר לשלב אימות ב-Firebase עם מערכת אימות בהתאמה אישית על ידי שינוי שרת האימות כך שיפיק אסימונים חתומים בהתאמה אישית כשמשתמש נכנס לחשבון בהצלחה. האפליקציה מקבלת את האסימון הזה ומשתמשת בו כדי לבצע אימות ב-Firebase.
לפני שמתחילים
- אם עדיין לא עשיתם את זה, אתם צריכים לפעול לפי השלבים במדריך תחילת העבודה.
- התקנה והגדרה של SDK של Firebase לאדמינים חשוב להפעיל את ה-SDK עם פרטי הכניסה הנכונים לפרויקט Firebase.
אימות באמצעות Firebase
כשהמשתמשים נכנסים לאפליקציה שלכם, צריך לשלוח את פרטי הכניסה שלהם (לדוגמה, שם המשתמש והסיסמה) לשרת האימות. השרת שלכם בודק את פרטי הכניסה, ואם הם תקינים, יוצר אסימון Firebase בהתאמה אישית ושולח את האסימון בחזרה לאפליקציה.
אחרי שמקבלים את הטוקן המותאם אישית משרת האימות, מעבירים אותו אל
signInWithCustomToken()כדי שהמשתמש יוכל להיכנס:try { final userCredential = await FirebaseAuth.instance.signInWithCustomToken(token); print("Sign-in successful."); } on FirebaseAuthException catch (e) { switch (e.code) { case "invalid-custom-token": print("The supplied token is not a Firebase custom auth token."); break; case "custom-token-mismatch": print("The supplied token is for a different Firebase project."); break; default: print("Unknown error."); } }
השלבים הבאים
אחרי שמשתמש יוצר חשבון חדש, החשבון הזה נשמר כחלק מפרויקט Firebase שלכם, ואפשר להשתמש בו כדי לזהות משתמש בכל אפליקציה בפרויקט, בלי קשר לשיטת הכניסה שבה המשתמש השתמש.
באפליקציות, אפשר לקבל את פרטי הפרופיל הבסיסיים של המשתמש מאובייקט User. איך מנהלים משתמשים
בכללי האבטחה של מסד נתונים בזמן אמת ב-Firebase ו-Cloud Storage, אפשר לקבל את מזהה המשתמש הייחודי של המשתמש המחובר מהמשתנה auth ולהשתמש בו כדי לשלוט בנתונים שהמשתמש יכול לגשת אליהם.
אתם יכולים לאפשר למשתמשים להיכנס לאפליקציה שלכם באמצעות כמה ספקי אימות על ידי קישור פרטי כניסה של ספק אימות לחשבון משתמש קיים.
כדי להוציא משתמש מהחשבון, קוראים ל-signOut():
await FirebaseAuth.instance.signOut();