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

Erste Schritte mit der Firebase-Authentifizierung unter Android

Verbinden Sie Ihre App mit Firebase

Wenn Sie dies noch nicht getan haben, fügen Sie Firebase zu Ihrem Android-Projekt hinzu .

Fügen Sie Ihrer App die Firebase-Authentifizierung hinzu

Deklarieren Sie mithilfe der Firebase Android BoM die Abhängigkeit für die Firebase Authentication Android-Bibliothek in der Gradle-Datei Ihres Moduls (App-Ebene) (normalerweise app/build.gradle ).

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:27.0.0')

    // Declare the dependency for the Firebase Authentication library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth'
}

Bei Verwendung der Firebase Android BoM verwendet Ihre App immer kompatible Versionen der Firebase Android-Bibliotheken.

(Alternative) Deklarieren Sie Firebase-Bibliotheksabhängigkeiten, ohne die Stückliste zu verwenden

Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.

Wenn Sie mehrere Firebase-Bibliotheken in Ihrer App verwenden, empfehlen wir dringend, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, um sicherzustellen, dass alle Versionen kompatibel sind.

dependencies {
    // Declare the dependency for the Firebase Authentication library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth:20.0.4'
}

Kotlin + KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:27.0.0')

    // Declare the dependency for the Firebase Authentication library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth-ktx'
}

Bei Verwendung der Firebase Android BoM verwendet Ihre App immer kompatible Versionen der Firebase Android-Bibliotheken.

(Alternative) Deklarieren Sie Firebase-Bibliotheksabhängigkeiten, ohne die Stückliste zu verwenden

Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.

Wenn Sie mehrere Firebase-Bibliotheken in Ihrer App verwenden, empfehlen wir dringend, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, um sicherzustellen, dass alle Versionen kompatibel sind.

dependencies {
    // Declare the dependency for the Firebase Authentication library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth-ktx:20.0.4'
}

Um einen Authentifizierungsanbieter zu verwenden, müssen Sie ihn in der Firebase-Konsole aktivieren. Wechseln Sie zur Seite Anmeldemethode im Abschnitt Firebase-Authentifizierung, um die E-Mail- / Kennwortanmeldung und alle anderen Identitätsanbieter zu aktivieren, die Sie für Ihre App benötigen.

(Optional) Prototyp und Test mit Firebase Local Emulator Suite

Bevor wir darüber sprechen, wie Ihre App Benutzer authentifiziert, stellen wir Ihnen eine Reihe von Tools vor, mit denen Sie die Authentifizierungsfunktionen prototypisieren und testen können: Firebase Local Emulator Suite. Wenn Sie sich für Authentifizierungstechniken und -anbieter entscheiden, verschiedene Datenmodelle mit öffentlichen und privaten Daten mithilfe von Authentifizierungs- und Firebase-Sicherheitsregeln auszuprobieren oder Anmelde-UI-Designs als Prototyp zu erstellen, kann es eine gute Idee sein, lokal zu arbeiten, ohne Live-Dienste bereitzustellen .

Ein Authentifizierungsemulator ist Teil der Local Emulator Suite, mit der Ihre App mit dem emulierten Datenbankinhalt und der Konfiguration sowie optional mit Ihren emulierten Projektressourcen (Funktionen, andere Datenbanken und Sicherheitsregeln) interagieren kann. Beachten Sie, dass die Local Emulator Suite emulierten Cloud-Speicher noch nicht unterstützt.

Die Verwendung des Authentifizierungsemulators umfasst nur wenige Schritte:

  1. Hinzufügen einer Codezeile zur Testkonfiguration Ihrer App, um eine Verbindung zum Emulator herzustellen.
  2. Führen Sie im Stammverzeichnis Ihres lokalen Projektverzeichnisses firebase emulators:start .
  3. Verwenden der Benutzeroberfläche der Local Emulator Suite für interaktives Prototyping oder der REST-API des Authentifizierungsemulators für nicht interaktive Tests.

Eine ausführliche Anleitung finden Sie unter Verbinden Sie Ihre App mit dem Authentifizierungsemulator . Weitere Informationen finden Sie in der Einführung zur Local Emulator Suite .

Fahren wir nun mit der Authentifizierung von Benutzern fort.

Überprüfen Sie den aktuellen Authentifizierungsstatus

  1. Deklarieren Sie eine Instanz von FirebaseAuth .

    Java

    private FirebaseAuth mAuth;

    Kotlin + KTX

    private lateinit var auth: FirebaseAuth
  2. Initialisieren Sie in der onCreate() -Methode die FirebaseAuth Instanz.

    Java

    // Initialize Firebase Auth
    mAuth = FirebaseAuth.getInstance();

    Kotlin + KTX

    // Initialize Firebase Auth
    auth = Firebase.auth
  3. Überprüfen Sie beim Initialisieren Ihrer Aktivität, ob der Benutzer derzeit angemeldet ist.

    Java

    @Override
    public void onStart() {
        super.onStart();
        // Check if user is signed in (non-null) and update UI accordingly.
        FirebaseUser currentUser = mAuth.getCurrentUser();
        if(currentUser != null){
            reload();
        }
    }

    Kotlin + KTX

    public override fun onStart() {
        super.onStart()
        // Check if user is signed in (non-null) and update UI accordingly.
        val currentUser = auth.currentUser
        if(currentUser != null){
            reload();
        }
    }

Neue Benutzer anmelden

Erstellen Sie eine neue createAccount Methode, die eine E-Mail-Adresse und ein Kennwort createAccount , createAccount und anschließend mit der Methode createUserWithEmailAndPassword einen neuen Benutzer createUserWithEmailAndPassword .

Java

mAuth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "createUserWithEmail:success");
                    FirebaseUser user = mAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "createUserWithEmail:failure", task.getException());
                    Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                    updateUI(null);
                }
            }
        });

Kotlin + KTX

auth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "createUserWithEmail:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "createUserWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
            }
        }

Fügen Sie ein Formular hinzu, um neue Benutzer mit ihrer E-Mail-Adresse und ihrem Kennwort zu registrieren, und rufen Sie diese neue Methode auf, wenn sie gesendet wird. Ein Beispiel finden Sie in unserem Schnellstartbeispiel .

Melden Sie vorhandene Benutzer an

Erstellen Sie eine neue signIn , die eine E-Mail-Adresse und ein Kennwort signInWithEmailAndPassword , signInWithEmailAndPassword und anschließend einen Benutzer mit der Methode signInWithEmailAndPassword .

Java

mAuth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "signInWithEmail:success");
                    FirebaseUser user = mAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "signInWithEmail:failure", task.getException());
                    Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                    updateUI(null);
                }
            }
        });

Kotlin + KTX

auth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "signInWithEmail:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "signInWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
            }
        }

Fügen Sie ein Formular hinzu, um Benutzer mit ihrer E-Mail-Adresse und ihrem Kennwort anzumelden, und rufen Sie diese neue Methode auf, wenn sie gesendet wird. Ein Beispiel finden Sie in unserem Schnellstartbeispiel .

Zugriff auf Benutzerinformationen

Wenn sich ein Benutzer erfolgreich angemeldet hat, können Sie seine Kontodaten jederzeit mit der Methode getCurrentUser .

Java

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    // Name, email address, and profile photo Url
    String name = user.getDisplayName();
    String email = user.getEmail();
    Uri photoUrl = user.getPhotoUrl();

    // Check if user's email is verified
    boolean emailVerified = user.isEmailVerified();

    // 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
    // FirebaseUser.getIdToken() instead.
    String uid = user.getUid();
}

Kotlin + KTX

val user = Firebase.auth.currentUser
user?.let {
    // Name, email address, and profile photo Url
    val name = user.displayName
    val email = user.email
    val photoUrl = user.photoUrl

    // Check if user's email is verified
    val emailVerified = user.isEmailVerified

    // 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
    // FirebaseUser.getToken() instead.
    val uid = user.uid
}

Nächste Schritte

Lesen Sie die Anleitungen zum Hinzufügen anderer Identitäts- und Authentifizierungsdienste: