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 na iOS przy użyciu niestandardowego systemu uwierzytelniania

Możesz zintegrować Uwierzytelnianie Firebase z niestandardowym systemem uwierzytelniania, modyfikując serwer uwierzytelniania w celu generowania niestandardowych podpisanych tokenów po pomyślnym zalogowaniu się użytkownika. Twoja aplikacja otrzymuje ten token i używa go do uwierzytelniania w Firebase.

Zanim zaczniesz

  1. Dodaj Firebase do swojego projektu na iOS .
  2. Uwzględnij następujące pody w swoim Podfile :
    pod 'Firebase/Auth'
    
  3. Uzyskaj klucze serwera swojego projektu:
    1. Przejdź do strony Konta usług w ustawieniach projektu.
    2. Kliknij Wygeneruj nowy klucz prywatny u dołu sekcji Firebase Admin SDK na stronie Service Accounts .
    3. Para kluczy publiczny / prywatny nowego konta usługi jest automatycznie zapisywana na komputerze. Skopiuj ten plik na swój serwer uwierzytelniania.

Uwierzytelnij się w Firebase

  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żytkownicy logują się do Twojej aplikacji, wyślij ich poświadczenia logowania (na przykład nazwę użytkownika i hasło) na serwer uwierzytelniania. Twój serwer sprawdza poświadczenia i zwraca niestandardowy token, jeśli są one prawidłowe.
  4. Po otrzymaniu niestandardowego tokenu z serwera uwierzytelniania przekaż go do signInWithCustomToken aby zalogować użytkownika:

    Szybki

    Auth.auth().signIn(withCustomToken: customToken ?? "") { (user, error) in
      // ...
    }

    Cel C

    [[FIRAuth auth] signInWithCustomToken:customToken
                               completion:^(FIRAuthDataResult * _Nullable authResult,
                                            NSError * _Nullable error) {
      // ...
    }];

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 Firebase Realtime Database i Cloud Storage Rules 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 .