Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Uwierzytelnij się w Firebase przy użyciu kont opartych na haśle w iOS

Możesz użyć Uwierzytelniania Firebase, aby umożliwić swoim użytkownikom uwierzytelnianie w Firebase przy użyciu ich adresów e-mail i haseł, a także zarządzać kontami aplikacji opartymi na hasłach.

Zanim zaczniesz

  1. Dodaj Firebase do swojego projektu na iOS . Uwzględnij następujące pody w swoim Podfile :
    pod 'Firebase/Auth'
    
  2. Jeśli nie połączyłeś jeszcze swojej aplikacji z projektem Firebase, zrób to z konsoli Firebase .
  3. Włącz logowanie za pomocą adresu e-mail / hasła:
    1. W konsoli Firebase otwórz sekcję Auth .
    2. Na karcie Metoda logowania włącz metodę logowania e- mail / hasło i kliknij przycisk Zapisz .

Utwórz konto oparte na haśle

Aby utworzyć nowe konto użytkownika z hasłem, wykonaj następujące kroki podczas logowania w aplikacji:

  1. Zaimportuj moduł UIApplicationDelegate :

    Szybki

    import Firebase

    Cel C

    @import Firebase;
  2. Skonfiguruj FirebaseApp wspólne wystąpienie, zazwyczaj w swojej aplikacji application:didFinishLaunchingWithOptions: metodę:

    Szybki

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

    Cel C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Gdy nowy użytkownik rejestruje się przy użyciu formularza rejestracyjnego aplikacji, wykonaj wszystkie nowe kroki weryfikacji konta wymagane przez aplikację, takie jak sprawdzenie, czy hasło do nowego konta zostało poprawnie wpisane i spełnia Twoje wymagania dotyczące złożoności.
  4. Utwórz nowe konto, przekazując adres e-mail i hasło nowego użytkownika do createUserWithEmail:email:password:completion:

    Szybki

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

    Cel C

    [[FIRAuth auth] createUserWithEmail:email
                               password:password
                             completion:^(FIRAuthDataResult * _Nullable authResult,
                                          NSError * _Nullable error) {
      // ...
    }];
    Jeśli nowe konto zostało pomyślnie utworzone, użytkownik jest zalogowany i można uzyskać dane konta użytkownika z obiektu wynikowego, który jest przekazywany do metody wywołania zwrotnego.

Zarejestruj użytkownika za pomocą adresu e-mail i hasła

Kroki logowania użytkownika przy użyciu hasła są podobne do czynności tworzenia nowego konta. W aktywności związanej z logowaniem się do aplikacji wykonaj następujące czynności:

  1. Zaimportuj moduł UIApplicationDelegate :

    Szybki

    import Firebase

    Cel C

    @import Firebase;
  2. Skonfiguruj FirebaseApp wspólne wystąpienie, zazwyczaj w swojej aplikacji application:didFinishLaunchingWithOptions: metodę:

    Szybki

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

    Cel C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Gdy użytkownik zaloguje się do Twojej aplikacji, przekaż jego adres e-mail i hasło do signInWithEmail:email:password:completion:

    Szybki

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

    Cel C

    [[FIRAuth auth] signInWithEmail:self->_emailField.text
                           password:self->_passwordField.text
                         completion:^(FIRAuthDataResult * _Nullable authResult,
                                      NSError * _Nullable error) {
      // ...
    }];
    Jeśli użytkownik pomyślnie się zaloguje, możesz pobrać dane konta użytkownika z obiektu wynikowego, który jest przekazywany do metody wywołania zwrotnego.

Następne kroki

Gdy użytkownik loguje się po raz pierwszy, tworzone jest nowe konto użytkownika i jest ono łączone z poświadczeniami - czyli nazwą użytkownika i hasłem, numerem telefonu lub informacjami dostawcy uwierzytelniania - zalogowanym użytkownikiem. To nowe konto jest przechowywane jako część projektu Firebase i może służyć do identyfikacji użytkownika we wszystkich aplikacjach w Twoim projekcie, niezależnie od tego, w jaki sposób się on loguje.

  • W swoich aplikacjach możesz uzyskać podstawowe informacje o profilu użytkownika z obiektu FIRUser . Zobacz Zarządzanie użytkownikami .

  • W swoich regułach bezpieczeństwa Firebase Realtime Database i Cloud Storage możesz uzyskać unikalny identyfikator zalogowanego użytkownika ze zmiennej auth i użyć go do kontrolowania, do jakich danych użytkownik ma dostęp.

Możesz zezwolić użytkownikom na logowanie się do aplikacji przy użyciu wielu dostawców uwierzytelniania, łącząc poświadczenia dostawcy uwierzytelniania z istniejącym kontem użytkownika.

Aby wylogować użytkownika, wywołaj signOut:

Szybki

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

Cel C

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

Możesz także dodać kod obsługi błędów dla pełnego zakresu błędów uwierzytelniania. Zobacz Obsługa błędów .