Catch up on everthing we announced at this year's Firebase Summit. Learn more

Authentifizieren Sie sich bei Firebase mit passwortbasierten Konten auf Apple-Plattformen

Sie können Firebase Authentication verwenden, damit sich Ihre Benutzer mit ihren E-Mail-Adressen und Passwörtern bei Firebase authentifizieren und die passwortbasierten Konten Ihrer App verwalten.

Bevor Sie beginnen

Verwenden Sie den Swift Package Manager, um Firebase-Abhängigkeiten zu installieren und zu verwalten.

  1. In Xcode, mit Ihrem App - Projekt zu öffnen, navigieren Sie zu Datei> Swift Packages> Paket hinzufügen Abhängigkeit.
  2. Wenn Sie dazu aufgefordert werden, fügen Sie das SDK-Repository der Firebase Apple Platforms hinzu:
  3.   https://github.com/firebase/firebase-ios-sdk
      
  4. Wählen Sie die Firebase Authentication-Bibliothek aus.
  5. Wenn Sie fertig sind, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.

Führen Sie als Nächstes einige Konfigurationsschritte aus:

  1. Wenn Sie noch nicht Ihre App auf Ihr Projekt verbunden Firebase, tun Sie dies aus der Firebase Konsole .
  2. E-Mail-/Passwort-Anmeldung aktivieren:
    1. In der Firebase Konsole , öffnen Sie den Abschnitt Auth.
    2. Auf dem Anmelden Methode Registerkarte, aktivieren Sie die E - Mail / Passwort-Anmeldemethode und klicken Sie auf Speichern.

Erstellen Sie ein passwortbasiertes Konto

Führen Sie die folgenden Schritte in der Anmeldeaktivität Ihrer App aus, um ein neues Benutzerkonto mit einem Passwort zu erstellen:

  1. Importieren Sie die Firebase Modul in Ihrem UIApplicationDelegate :

    Schnell

    import Firebase

    Ziel c

    @import Firebase;
  2. Konfigurieren ein FirebaseApp gemeinsame Instanz, in der Regel in Ihrem App - application:didFinishLaunchingWithOptions: Methode:

    Schnell

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

    Ziel c

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Wenn sich ein neuer Benutzer über das Anmeldeformular Ihrer App anmeldet, führen Sie alle für Ihre App erforderlichen neuen Kontovalidierungsschritte aus, z.
  4. Erstellen Sie ein neues Konto für den neuen Benutzer des E-Mail - Adresse und das Passwort vorbei createUserWithEmail:email:password:completion: - createUserWithEmail:email:password:completion: .

    Schnell

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

    Ziel c

    [[FIRAuth auth] createUserWithEmail:email
                               password:password
                             completion:^(FIRAuthDataResult * _Nullable authResult,
                                          NSError * _Nullable error) {
      // ...
    }];
    Wenn das neue Konto erfolgreich erstellt wurde, ist der Benutzer angemeldet, und Sie können die Kontodaten des Benutzers aus dem Ergebnisobjekt abrufen, das an die Rückrufmethode übergeben wird.

Melden Sie sich als Benutzer mit einer E-Mail-Adresse und einem Passwort an

Die Schritte zum Anmelden eines Benutzers mit einem Kennwort ähneln den Schritten zum Erstellen eines neuen Kontos. Gehen Sie in der Anmeldeaktivität Ihrer App wie folgt vor:

  1. Importieren Sie die Firebase Modul in Ihrem UIApplicationDelegate :

    Schnell

    import Firebase

    Ziel c

    @import Firebase;
  2. Konfigurieren ein FirebaseApp gemeinsame Instanz, in der Regel in Ihrem App - application:didFinishLaunchingWithOptions: Methode:

    Schnell

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

    Ziel c

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Wenn sich ein Nutzer in Ihrer App, übergeben Sie die E - Mail-Adresse des Benutzers und das Passwort signInWithEmail:email:password:completion: - signInWithEmail:email:password:completion: .

    Schnell

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

    Ziel c

    [[FIRAuth auth] signInWithEmail:self->_emailField.text
                           password:self->_passwordField.text
                         completion:^(FIRAuthDataResult * _Nullable authResult,
                                      NSError * _Nullable error) {
      // ...
    }];
    Wenn sich der Benutzer erfolgreich anmeldet, können Sie die Kontodaten des Benutzers aus dem Ergebnisobjekt abrufen, das an die Rückrufmethode übergeben wird.

Nächste Schritte

Nachdem sich ein Benutzer zum ersten Mal anmeldet, wird ein neues Benutzerkonto erstellt und mit den Anmeldeinformationen – d. h. Benutzername und Kennwort, Telefonnummer oder Authentifizierungsanbieterinformationen – verknüpft, mit denen sich der Benutzer angemeldet hat. Dieses neue Konto wird als Teil Ihres Firebase-Projekts gespeichert und kann verwendet werden, um einen Benutzer in jeder App in Ihrem Projekt zu identifizieren, unabhängig davon, wie sich der Benutzer anmeldet.

  • In Ihren Anwendungen können Sie die Benutzerprofilgrundinformationen aus dem bekommen FIRUser Objekt. Siehe Benutzer verwalten .

  • In Ihrer Datenbank und Firebase Realtime Cloud Storage Sicherheitsregeln , können Sie die angemeldeten Nutzer die eindeutige Benutzer - ID aus der bekommen auth Variable, und es verwenden , um steuern kann ein Benutzer Zugriff , welche Daten.

Sie können Benutzer erlauben , durch mehrere Authentifizierungsanbieter anmelden, um Ihre App Verknüpfung Auth - Provider - Anmeldeinformationen zu einem vorhandenen Benutzerkonto.

Um einen Benutzer abzumelden, rufen signOut: .

Schnell

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

Ziel c

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

Möglicherweise möchten Sie auch einen Fehlerbehandlungscode für alle Authentifizierungsfehler hinzufügen. Siehe Handle Fehler .