Można używać uwierzytelniania Firebase tworzyć i wykorzystywać tymczasowe anonimowych rachunków do uwierzytelniania Firebase. Te tymczasowe anonimowych kont mogą być stosowane, aby umożliwić użytkownikom, którzy jeszcze nie zapisali się do swojej aplikacji do pracy z danymi chronionymi przepisami bezpieczeństwa. Jeśli użytkownik anonimowy postanawia zapisać się do swojej aplikacji, możesz połączyć swoje dane logowania do konta anonimowego , tak aby mogły kontynuować pracę z ich chronionych danych w przyszłych sesjach.
Zanim zaczniesz
Zastosowanie Swift Menedżer pakietów do instalacji i zarządzania zależnościami Firebase.
- W Xcode, z otwartych aplikacji projektu, przejdź do menu Plik> Dodaj pakiety .
- Gdy pojawi się monit, dodać platformy Firebase firmy Apple SDK repozytorium:
- Wybierz bibliotekę uwierzytelniania Firebase.
- Po zakończeniu Xcode automatycznie rozpocznie pobieranie i rozwiązywania swoich zależnościami w tle.
https://github.com/firebase/firebase-ios-sdk
Następnie wykonać pewne czynności konfiguracyjne:
- Jeśli nie zostały jeszcze podłączone swoją aplikację do projektu Firebase, zrobić z konsoli Firebase .
- Włącz anonimowego logowania:
- W konsoli Firebase otwórz sekcję Auth .
- Na stronie logowania w Methods , umożliwienie logowania metody Anonymous .
Uwierzytelniania Firebase anonimowo
Kiedy zarejestrowany użytkownik wykorzystuje się funkcję aplikacji, która wymaga uwierzytelnienia z Firebase, Zaloguj się użytkownikowi anonimowo, wykonując następujące kroki:
- Importować
FirebaseCore
moduł wUIApplicationDelegate
, jak również wszelkie inne moduły Firebase swoich zastosowań app delegata. Na przykład, do korzystania z Cloud FireStore i uwierzytelnianie:Szybki
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Cel C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Skonfiguruj
FirebaseApp
wspólne wystąpienie, zazwyczaj w swojejApp
„s inicjująca lub aplikacji delegataapplication(_:didFinishLaunchingWithOptions:)
Metoda:Szybki
// Use Firebase library to configure APIs FirebaseApp.configure()
Cel C
// Use Firebase library to configure APIs [FIRApp configure];
- Wywołać
signInAnonymouslyWithCompletion:
metoda:Szybki
Auth.auth().signInAnonymously { authResult, error in // ... }
Cel C
[[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
- Jeżeli
signInAnonymouslyWithCompletion:
uzupełnia metody bez błędu, można uzyskać dane konta anonimowego użytkownika zFIRAuthDataResult
obiektu:Szybki
guard let user = authResult?.user else { return } let isAnonymous = user.isAnonymous // true let uid = user.uid
Cel C
FIRUser *user = authResult.user; BOOL isAnonymous = user.anonymous; // YES NSString *uid = user.uid;
Konwersja konta anonimowego do stałego konta
Kiedy anonimowych znaki użytkowników do aplikacji, możesz chcieć, aby mogły kontynuować swoją pracę ze swoim nowym koncie, na przykład, może chcesz, aby elementy użytkownik dodał do koszyka, zanim podpisał się dostępne w nowych konto jest wózek na zakupy. Aby to zrobić, wykonaj następujące kroki:
- Gdy użytkownik up, ukończyć logowania przepływu dla dostawcy uwierzytelniania użytkownika zależy, ale nie w tym, nazywając jedną z
FIRAuth.signInWith
metod. Na przykład, uzyskać Google ID tokenu użytkownika, Facebook token dostępu lub adres e-mail i hasło. Uzyskać
FIRAuthCredential
dla nowego dostawcy uwierzytelniania:Google Sign-In
Szybki
guard let authentication = user?.authentication, let idToken = authentication.idToken else { return } let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: authentication.accessToken)
Cel C
GIDAuthentication *authentication = user.authentication; FIRAuthCredential *credential = [FIRGoogleAuthProvider credentialWithIDToken:authentication.idToken accessToken:authentication.accessToken];
Nazwa użytkownika Facebook
Szybki
let credential = FacebookAuthProvider .credential(withAccessToken: AccessToken.current!.tokenString)
Cel C
FIRAuthCredential *credential = [FIRFacebookAuthProvider credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
Email-hasło logowania
Szybki
let credential = EmailAuthProvider.credential(withEmail: email, password: password)
Cel C
FIRAuthCredential *credential = [FIREmailAuthProvider credentialWithEmail:email password:password];
Przepuścić
FIRAuthCredential
obiekt do logowania użytkownikalinkWithCredential:completion:
metodę:Szybki
user.link(with: credential) { authResult, error in // ... } }
Cel C
[[FIRAuth auth].currentUser linkWithCredential:credential completion:^(FIRAuthDataResult *result, NSError *_Nullable error) { // ... }];
Jeśli wywołanie linkWithCredential:completion:
powiedzie, nowe konto użytkownika może uzyskać dostęp do konta anonimowego użytkownika dane Firebase.
Następne kroki
Teraz użytkownicy mogą uwierzytelniać z Firebase można kontrolować dostęp do danych w bazie danych Firebase zastosowaniem zasady Firebase .