אפשר לשלב אימות ב-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 Realtime Database ושל Cloud Storage, אפשר לקבל את מזהה המשתמש הייחודי של המשתמש שנכנס לחשבון מהמשתנה auth
, ולהשתמש בו כדי לקבוע לאילו נתונים למשתמש תהיה גישה.
אפשר לאפשר למשתמשים להיכנס לאפליקציה באמצעות מספר סוגי אימות ספקים על ידי קישור פרטי הכניסה של ספק האימות) אל חשבון משתמש קיים.
כדי לצאת ממשתמש, צריך להתקשר אל signOut()
:
await FirebaseAuth.instance.signOut();