אימות באמצעות Firebase באמצעות חשבונות שמבוססים על סיסמה ב-Flutter

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

לפני שמתחילים

  1. אם עדיין לא עשיתם זאת, עליכם לפעול לפי השלבים שמפורטים במדריך תחילת העבודה.

  2. הפעלת כניסה לחשבון באמצעות אימייל או סיסמה:

    • בקטע Authentication במסוף Firebase, פותחים את הדף Sign in method.
    • בדף שיטת כניסה, מפעילים את האפשרות כניסה באמצעות אימייל/סיסמה ולוחצים על Save.

יצירת חשבון שמבוסס על סיסמה

כדי ליצור חשבון משתמש חדש עם סיסמה, צריך להפעיל את createUserWithEmailAndPassword() method:

try {
  final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: emailAddress,
    password: password,
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'weak-password') {
    print('The password provided is too weak.');
  } else if (e.code == 'email-already-in-use') {
    print('The account already exists for that email.');
  }
} catch (e) {
  print(e);
}

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

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

לאחר יצירת חשבון חדש, תוכלו לאמת את כתובת האימייל של המשתמש.

כניסה של משתמש באמצעות כתובת אימייל וסיסמה

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

try {
  final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: emailAddress,
    password: password
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'user-not-found') {
    print('No user found for that email.');
  } else if (e.code == 'wrong-password') {
    print('Wrong password provided for that user.');
  }
}

השלבים הבאים

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

באפליקציות שלכם, תוכלו לקבל את פרטי הפרופיל הבסיסיים של המשתמש דרך אובייקט User. למידע נוסף, ראו ניהול משתמשים.

במסגרת כללי האבטחה של Firebase Realtime Database ושל Cloud Storage, אפשר לקבל את מזהה המשתמש הייחודי של המשתמש שנכנס לחשבון מהמשתנה auth, ולהשתמש בו כדי לקבוע לאילו נתונים למשתמש תהיה גישה.

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

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

await FirebaseAuth.instance.signOut();