Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

  1. להוסיף Firebase לפרויקט iOS שלך .

  2. כלול את התרמילים הבאים שלך Podfile :

    pod 'Firebase/Auth'
    
  3. אם עדיין לא מחוברת האפליקציה שלך לפרויקט Firebase שלך, לעשות זאת מתוך קונסולת Firebase .
  4. אפשר כניסה לדוא"ל/סיסמה:
    1. בשנות ה קונסולת Firebase , פתח את הקטע המחבר.
    2. 'הכניסה דרך כרטיסיית שיטה, לאפשר כניסת דוא"ל / סיסמא שיטה ולחץ על שמור.

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

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

  1. ייבא את מודול Firebase ב שלך UIApplicationDelegate :

    מָהִיר

    import Firebase

    Objective-C

    @import Firebase;
  2. & Nbsp הגדר FirebaseApp משותף למשל, בדרך כלל של האפליקציה שלך application:didFinishLaunchingWithOptions: השיטה:

    מָהִיר

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. כאשר משתמש חדש נרשם באמצעות טופס ההרשמה לאפליקציה שלך, השלם את כל שלבי אימות החשבון החדשים שהאפליקציה דורשת, כגון אימות שסיסמת החשבון החדש הוקלדה כהלכה ועונה על דרישות המורכבות שלך.
  4. צור חשבון חדש על ידי העברת כתובת האימייל של המשתמש החדש וסיסמה כדי createUserWithEmail:email:password:completion: .

    מָהִיר

    Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
      // ...
    }

    Objective-C

    [[FIRAuth auth] createUserWithEmail:email
                               password:password
                             completion:^(FIRAuthDataResult * _Nullable authResult,
                                          NSError * _Nullable error) {
      // ...
    }];
    אם החשבון החדש נוצר בהצלחה, המשתמש מחובר ותוכל לקבל את נתוני החשבון של המשתמש מאובייקט התוצאה שהועבר לשיטת החזרה.

היכנס למשתמש עם כתובת דוא"ל וסיסמה

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

  1. ייבא את מודול Firebase ב שלך UIApplicationDelegate :

    מָהִיר

    import Firebase

    Objective-C

    @import Firebase;
  2. & Nbsp הגדר FirebaseApp משותף למשל, בדרך כלל של האפליקציה שלך application:didFinishLaunchingWithOptions: השיטה:

    מָהִיר

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. כאשר המשתמש נכנס אל האפליקציה שלך, להעביר את כתובת הדוא"ל של המשתמש והסיסמה כדי signInWithEmail:email:password:completion: .

    מָהִיר

    Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in
      guard let strongSelf = self else { return }
      // ...
    }

    Objective-C

    [[FIRAuth auth] signInWithEmail:self->_emailField.text
                           password:self->_passwordField.text
                         completion:^(FIRAuthDataResult * _Nullable authResult,
                                      NSError * _Nullable error) {
      // ...
    }];
    אם המשתמש נכנס בהצלחה, תוכל לקבל את נתוני החשבון של המשתמש מאובייקט התוצאה שהועבר לשיטת החזרה.

הצעדים הבאים

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

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

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

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

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

מָהִיר

    let firebaseAuth = Auth.auth()
do {
  try firebaseAuth.signOut()
} catch let signOutError as NSError {
  print("Error signing out: %@", signOutError)
}
  

Objective-C

    NSError *signOutError;
BOOL status = [[FIRAuth auth] signOut:&signOutError];
if (!status) {
  NSLog(@"Error signing out: %@", signOutError);
  return;
}

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