Catch up on everthing we announced at this year's Firebase Summit. Learn more

Authentifizieren Sie sich bei Firebase mit passwortbasierten Konten mit Unity

Sie können Firebase Authentication verwenden, damit sich Ihre Benutzer mit ihren E-Mail-Adressen und Passwörtern bei Firebase authentifizieren und die passwortbasierten Konten Ihrer App verwalten.

Bevor Sie beginnen

Bevor Sie können Firebase - Authentifizierung , müssen Sie:

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

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

    • Wenn Sie nicht über ein Unity - Projekt haben, können Sie eine Download - Beispielanwendung .

  • Fügen Sie die Firebase Unity SDK (genauer gesagt, FirebaseAuth.unitypackage ) , um Ihre Unity - Projekt.

Beachten Sie, dass das Hinzufügen Firebase zu Ihrer Unity Projektaufgabe beinhaltet sowohl in der Firebase - Konsole und in Ihrem geöffneten Projekt Unity (zum Beispiel downloaden Sie Config - Dateien Firebase aus der Konsole, dann in der Unity - Projekt bewegen).

Besuchen Sie die Firebase.Auth.FirebaseAuth Klasse

Die FirebaseAuth Klasse ist das Gateway für alle API - Aufrufe. Es ist zugänglich durch FirebaseAuth.DefaultInstance .
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

Erstellen Sie ein passwortbasiertes Konto

Führen Sie die folgenden Schritte im Anmeldecode Ihrer App aus, um ein neues Benutzerkonto mit einem Passwort zu erstellen:

  1. Wenn sich ein neuer Benutzer über das Anmeldeformular Ihrer App anmeldet, führen Sie alle für Ihre App erforderlichen neuen Kontovalidierungsschritte aus, z.
  2. Erstellen Sie ein neues Konto für den neuen Benutzer des E-Mail - Adresse und Passwort vorbei an FirebaseAuth.CreateUserWithEmailAndPassword :
    auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
        return;
      }
    
      // Firebase user has been created.
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("Firebase user created successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    

Melden Sie sich als Benutzer mit einer E-Mail-Adresse und einem Passwort an

Die Schritte zum Anmelden eines Benutzers mit einem Kennwort ähneln den Schritten zum Erstellen eines neuen Kontos. Gehen Sie in der Anmeldefunktion Ihrer App wie folgt vor:

  1. Wenn sich ein Nutzer in Ihrer App, die Benutzer-E - Mail - Adresse und das Passwort weitergeben FirebaseAuth.SignInWithEmailAndPassword :
    auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithEmailAndPasswordAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithEmailAndPasswordAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    
  2. : Sie können auch die Anmeldeinformationen und Zeichen in wie die anderen Workflows erstellen
    Firebase.Auth.Credential credential =
        Firebase.Auth.EmailAuthProvider.GetCredential(email, password);
    auth.SignInWithCredentialAsync(credential).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithCredentialAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    

Nächste Schritte

Nachdem sich ein Benutzer zum ersten Mal anmeldet, wird ein neues Benutzerkonto erstellt und mit den Anmeldeinformationen – d. h. Benutzername und Kennwort, Telefonnummer oder Authentifizierungsanbieterinformationen – verknüpft, mit denen sich der Benutzer angemeldet hat. Dieses neue Konto wird als Teil Ihres Firebase-Projekts gespeichert und kann verwendet werden, um einen Benutzer in jeder App in Ihrem Projekt zu identifizieren, unabhängig davon, wie sich der Benutzer anmeldet.

  • In Ihren Anwendungen können Sie die Benutzerprofilgrundinformationen aus dem bekommen 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 Ihrer Datenbank und Firebase Realtime Cloud Storage Sicherheitsregeln , können Sie die angemeldeten Nutzer die eindeutige Benutzer - ID aus der bekommen auth Variable, und es verwenden , um steuern kann ein Benutzer Zugriff , welche Daten.

Sie können Benutzer erlauben , durch mehrere Authentifizierungsanbieter anmelden, um Ihre App Verknüpfung Auth - Provider - Anmeldeinformationen zu einem vorhandenen Benutzerkonto.

Um einen Benutzer abzumelden, rufen SignOut() :

auth.SignOut();