Mit Facebook Login und Unity authentifizieren

Sie können Ihren Nutzern erlauben, sich mit ihren Facebook-Konten bei Firebase zu authentifizieren indem Sie die Facebook-Anmeldung in Ihre App integrieren.

Hinweis

Bevor Sie Firebase Authentication verwenden können, müssen Sie Folgendes tun:

  • Registrieren Sie Ihr Unity-Projekt und konfigurieren Sie es für die Verwendung von Firebase.

    • Wenn in Ihrem Unity-Projekt bereits Firebase verwendet wird, ist es bereits für Firebase registriert und konfiguriert.

    • Wenn Sie kein Unity-Projekt haben, können Sie Beispiel-App.

  • Fügen Sie das Firebase Unity SDK (insbesondere FirebaseAuth.unitypackage) hinzu: Ihres Unity-Projekts.

Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem Unity-Projekt sowohl Aufgaben im Firebase-Konsole und im geöffneten Unity-Projekt (Beispiel: Sie laden Firebase-Konfigurationsdateien aus der Console herunter und in Ihr Unity-Projekt importieren.

Auf die Klasse Firebase.Auth.FirebaseAuth zugreifen

Die Klasse FirebaseAuth ist das Gateway für alle API-Aufrufe. Sie kann über FirebaseAuth.DefaultInstance aufgerufen werden.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

Mit Firebase authentifizieren

  1. Folge der Anleitung für Android und iOS +, um ein Zugriffstoken für den angemeldeten Facebook-Nutzer zu erhalten.
  2. Tauschen Sie nach erfolgreicher Anmeldung das Zugriffstoken gegen ein Firebase-Anmeldedaten einrichten und mit Firebase bei Firebase authentifizieren Anmeldedaten:
    Firebase.Auth.Credential credential =
        Firebase.Auth.FacebookAuthProvider.GetCredential(accessToken);
    auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInAndRetrieveDataWithCredentialAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInAndRetrieveDataWithCredentialAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.AuthResult result = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          result.User.DisplayName, result.User.UserId);
    });

Nächste Schritte

Nachdem sich ein Nutzer zum ersten Mal angemeldet hat, wird ein neues Nutzerkonto erstellt und mit den Anmeldedaten verknüpft, d. h. mit dem Nutzernamen und Passwort, der Telefonnummer oder den Informationen zum Authentifizierungsanbieter, mit denen sich der Nutzer angemeldet hat. Diese neue -Konto wird als Teil Ihres Firebase-Projekts gespeichert und kann verwendet werden, um in jeder App in Ihrem Projekt einen Nutzer erreichen, unabhängig davon, wie er sich anmeldet.

  • Die grundlegenden Profilinformationen der Nutzer finden Sie in Ihren Apps über die Firebase.Auth.FirebaseUser-Objekt:

    Firebase.Auth.FirebaseUser user = auth.CurrentUser;
    if (user != null) {
      string name = user.DisplayName;
      string email = user.Email;
      System.Uri photo_url = user.PhotoUrl;
      // The user's Id, unique to the Firebase project.
      // Do NOT use this value to authenticate with your backend server, if you
      // have one; use User.TokenAsync() instead.
      string uid = user.UserId;
    }
  • In Firebase Realtime Database und Cloud Storage Sicherheitsregeln können Sie die eindeutige Nutzer-ID des angemeldeten Nutzers aus der Variablen auth abrufen, und steuern, auf welche Daten ein Nutzer zugreifen kann.

Sie können Nutzern erlauben, sich mit Mehrfachauthentifizierung in Ihrer App anzumelden indem Sie die Anmeldedaten des Authentifizierungsanbieters mit einem eines bestehenden Nutzerkontos.

Rufen Sie auf, um einen Nutzer abzumelden. SignOut():

auth.SignOut();