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

אתה יכול להשתמש באימות Firebase כדי לאפשר למשתמשים שלך לבצע אימות עם Firebase באמצעות כתובות דוא"ל וסיסמאות.

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

  1. אם עדיין לא עשית זאת, בצע את השלבים במדריך התחל .

  2. אפשר כניסה לאימייל/סיסמה:

    • במקטע אימות של מסוף Firebase, פתח את דף שיטת הכניסה .
    • מדף שיטת הכניסה , הפעל את שיטת הכניסה לדוא"ל/סיסמה ולחץ על שמור .

צור חשבון מבוסס סיסמה

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

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 וב-Cloud Storage, תוכל לקבל את מזהה המשתמש הייחודי של המשתמש המחובר ממשתנה auth , ולהשתמש בו כדי לשלוט לאילו נתונים המשתמש יכול לגשת.

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

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

await FirebaseAuth.instance.signOut();