אתם יכולים להשתמש באימות ב-Firebase כדי לאפשר למשתמשים שלכם לבצע אימות ב-Firebase באמצעות כתובות אימייל וסיסמאות.
לפני שמתחילים
אם עדיין לא עשיתם את זה, אתם צריכים לפעול לפי השלבים במדריך תחילת העבודה.
מפעילים את הכניסה באמצעות כתובת אימייל או סיסמה:
- בקטע Authentication במסוף Firebase, פותחים את הדף Sign in method.
- בדף Sign in method (שיטת הכניסה), מפעילים את השיטה Email/password sign-in (כניסה באמצעות אימייל או סיסמה) ולוחצים על 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();