Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Authentifizieren Sie sich anonym mit Firebase unter iOS

Mit der Firebase-Authentifizierung können Sie temporäre anonyme Konten erstellen und verwenden, um sich bei Firebase zu authentifizieren. Mit diesen temporären anonymen Konten können Benutzer, die sich noch nicht bei Ihrer App angemeldet haben, mit Daten arbeiten, die durch Sicherheitsregeln geschützt sind. Wenn sich ein anonymer Benutzer für die Anmeldung bei Ihrer App entscheidet, können Sie seine Anmeldeinformationen mit dem anonymen Konto verknüpfen, damit er in zukünftigen Sitzungen weiterhin mit seinen geschützten Daten arbeiten kann.

Bevor Sie beginnen

  1. Fügen Sie Ihrem iOS-Projekt Firebase hinzu .
  2. Fügen Sie die folgenden Pods in Ihre Podfile :
    pod 'Firebase/Auth'
    
  3. Wenn Sie Ihre App noch nicht mit Ihrem Firebase-Projekt verbunden haben, tun Sie dies über die Firebase-Konsole .
  4. Anonyme Authentifizierung aktivieren:
    1. Öffnen Sie in der Firebase-Konsole den Abschnitt Auth .
    2. Auf der Sign-in Methods Seite, aktivieren Sie die Anonymous-Anmeldung Methode.

Authentifizieren Sie sich anonym bei Firebase

Wenn ein abgemeldeter Benutzer eine App-Funktion verwendet, für die eine Authentifizierung bei Firebase erforderlich ist, melden Sie sich anonym beim Benutzer an, indem Sie die folgenden Schritte ausführen:

  1. Importieren Sie das Firebase-Modul in Ihr UIApplicationDelegate :

    Schnell

    import Firebase

    Ziel c

    @import Firebase;
  2. Konfigurieren Sie eine freigegebene FirebaseApp Instanz, normalerweise in der application:didFinishLaunchingWithOptions: Ihrer App application:didFinishLaunchingWithOptions: method:

    Schnell

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

    Ziel c

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Rufen Sie die Methode signInAnonymouslyWithCompletion: :

    Schnell

    Auth.auth().signInAnonymously() { (authResult, error) in
      // ...
    }
    

    Ziel c

    [[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult,
                                                      NSError * _Nullable error) {
       // ...
     }];
    
  4. Wenn die Methode signInAnonymouslyWithCompletion: ohne Fehler abgeschlossen wird, können Sie die Kontodaten des anonymen Benutzers aus dem FIRAuthDataResult Objekt FIRAuthDataResult :

    Schnell

    guard let user = authResult?.user else { return }
    let isAnonymous = user.isAnonymous  // true
    let uid = user.uid
    

    Ziel c

    FIRUser *user = authResult.user;
    BOOL isAnonymous = user.anonymous;  // YES
    NSString *uid = user.uid;
    

Konvertieren Sie ein anonymes Konto in ein permanentes Konto

Wenn sich ein anonymer Benutzer bei Ihrer App anmeldet, möchten Sie ihm möglicherweise erlauben, seine Arbeit mit seinem neuen Konto fortzusetzen. Beispielsweise möchten Sie möglicherweise die Artikel, die der Benutzer seinem Warenkorb hinzugefügt hat, bevor er sich in seinem neuen Konto anmeldet, verfügbar machen Warenkorb des Kontos. Führen Sie dazu die folgenden Schritte aus:

  1. Wenn sich der Benutzer FIRAuth.signInWith den FIRAuth.signInWith für den Authentifizierungsanbieter des Benutzers ab, bis Sie eine der FIRAuth.signInWith Methoden aufrufen, jedoch nicht einschließen. Erhalten Sie beispielsweise das Google ID-Token des Benutzers, das Facebook-Zugriffstoken oder die E-Mail-Adresse und das Kennwort.
  2. Holen Sie sich ein FIRAuthCredential für den neuen Authentifizierungsanbieter:

    Google-Anmeldung
    Schnell
    guard let authentication = user.authentication else { return }
    let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken,
                                                      accessToken: authentication.accessToken)
    
    Ziel c
    GIDAuthentication *authentication = user.authentication;
    FIRAuthCredential *credential =
    [FIRGoogleAuthProvider credentialWithIDToken:authentication.idToken
                                     accessToken:authentication.accessToken];
    
    Facebook Login
    Schnell
    let credential = FacebookAuthProvider.credential(withAccessToken: AccessToken.current!.tokenString)
    
    Ziel c
    FIRAuthCredential *credential = [FIRFacebookAuthProvider
        credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
    
    Anmeldung per E-Mail-Passwort
    Schnell
    let credential = EmailAuthProvider.credential(withEmail: email, password: password)
    
    Ziel c
    FIRAuthCredential *credential =
        [FIREmailAuthProvider credentialWithEmail:email
                                                 password:password];
    
  3. FIRAuthCredential das FIRAuthCredential Objekt an den linkWithCredential:completion: des linkWithCredential:completion: Benutzers. linkWithCredential:completion: Methode:

    Schnell
        user.link(with: credential) { (authResult, error) in
      // ...
    }
    }
    
    Ziel c
        [[FIRAuth auth].currentUser linkWithCredential:credential
        completion:^(FIRAuthDataResult *result, NSError *_Nullable error) {
      // ...
    }];
    

Wenn der Aufruf von linkWithCredential:completion: erfolgreich ist, kann das neue Konto des Benutzers auf die Firebase-Daten des anonymen Kontos zugreifen.

Nächste Schritte

Nachdem sich Benutzer bei Firebase authentifizieren können, können Sie ihren Zugriff auf Daten in Ihrer Firebase-Datenbank mithilfe von Firebase-Regeln steuern.