Zanim zaczniesz
- Dodaj Firebase do swojego projektu na iOS .
- Uwzględnij następujące pody w swoim
Podfile
:pod 'Firebase/Auth'
- Uzyskaj klucze serwera swojego projektu:
- Przejdź do strony Konta usług w ustawieniach projektu.
- Kliknij Wygeneruj nowy klucz prywatny u dołu sekcji Firebase Admin SDK na stronie Service Accounts .
- 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
- Zaimportuj moduł
UIApplicationDelegate
:Szybki
import Firebase
Cel C
@import Firebase;
- Skonfiguruj
FirebaseApp
wspólne wystąpienie, zazwyczaj w swojej aplikacjiapplication:didFinishLaunchingWithOptions:
metodę:Szybki
// Use Firebase library to configure APIs FirebaseApp.configure()
Cel C
// Use Firebase library to configure APIs [FIRApp configure];
- 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.
- 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 .