Firebase Auth ist ein Cloud-Dienst von Google zur Benutzerauthentifizierung in mobilen und Webanwendungen, der vorgefertigte Anmeldemethoden per E-Mail, Telefon und soziale Netzwerke bereitstellt. Das SDK verwaltet den gesamten Sitzungslebenszyklus: Registrierung, Anmeldung, Token-Aktualisierung und Abmeldung. Laut Google, 2026 unterstützt Firebase Auth mehr als 10 Authentifizierungsanbieter sofort einsatzbereit. Der Dienst ist kostenlos ohne Begrenzung der Anzahl authentifizierter Benutzer.
Wichtige Punkte
Firebase Auth ist ein Backend-Authentifizierungsdienst von Google, der als Teil des Firebase SDK bereitgestellt wird. Er übernimmt die gesamte serverseitige Kontoverwaltungslogik: Speicherung von Passwort-Hashes, Generierung von JWT-Token und Verarbeitung von OAuth 2.0- und OpenID Connect-Abläufen. Entwickler müssen keinen eigenen Authentifizierungsserver bereitstellen, Aktualisierungstoken verwalten oder Verifizierungsprotokolle implementieren — Firebase erledigt alles.
Firebase Auth verwendet eine föderierte Architektur mit einem einheitlichen Benutzerspeicher. Jeder Benutzer erhält eine eindeutige Kennung (UID), die nicht vom Anmeldeanbieter abhängt. Bei der Registrierung über Google und E-Mail wird ein einzelner Benutzer mit zwei verknüpften Konten (Anbietern) erstellt. Firebase übernimmt die Kontenverknüpfung automatisch auf der Clientseite ohne zusätzliche Serveranfragen.
Firebase Auth-Token sind JWT (JSON Web Token) mit einer Nutzlast, die UID, Ausstellungszeit, Ablaufzeit und benutzerdefinierte Claims enthält. Zugriffstoken sind 1 Stunde gültig, Aktualisierungstoken sind unbegrenzt (können aber über die Admin-Konsole widerrufen werden). Das SDK aktualisiert das Token bei jeder HTTP-Anfrage an Firebase-Dienste automatisch. Laut Google (2026) wickelt Firebase Auth über 500 Millionen Authentifizierungen pro Tag ab.
Firebase Auth ist im Spark-Plan (kostenlos) und im Blaze-Plan (Pay-as-you-go) völlig kostenlos. Die einzige Einschränkung ist 10.000 anonyme Authentifizierungen pro Tag bei Spark (unbegrenzt bei Blaze). E-Mail/Telefon- und OAuth-Authentifizierungen haben keine Grenzen. Für die Telefonverifizierung bietet Spark 10.000 Verifizierungen pro Monat, während Blaze nutzungsabhängig abrechnet (0,01 $ pro Verifizierung nach den ersten 10.000). Dies macht Firebase Auth zu einer der erschwinglichsten Lösungen auf dem Markt.
Firebase Auth unterstützt 12 Authentifizierungsanbieter sofort einsatzbereit. Jeder Anbieter ist als separater Identitätsdienst mit einem vordefinierten Ablauf implementiert — der Entwickler muss nur ein Credential-Objekt erstellen und an signInWithCredential übergeben. Firebase ermittelt automatisch, ob der Benutzer neu oder vorhanden ist, und bietet im Falle einer E-Mail-Duplizierung die Verknüpfung von Konten an.
Email/Password ist die grundlegende Authentifizierungsmethode mit auf Firebase-Servern gespeicherten Passwort-Hashes (bcrypt). Sie unterstützt Registrierung, Anmeldung, Passwortzurücksetzung per E-Mail und E-Mail-Bestätigung. Firebase überprüft automatisch die Passwortstärke (mindestens 6 Zeichen) und kann die Anmeldung nach N fehlgeschlagenen Versuchen blockieren (Brute-Force-Schutz).
Google, Apple, Facebook, Twitter, Microsoft, Yahoo, GitHub — alle OAuth 2.0-Anbieter können über die Firebase-Konsole in 5 Minuten konfiguriert werden. Für jeden Anbieter müssen Sie eine Client-ID und ein Client-Geheimnis aus der Konsole des jeweiligen Anbieters abrufen. Apple Sign In ist für App Store-Anwendungen obligatorisch (Apple-Anforderung seit 2020). Firebase Auth unterstützt den Apple Sign In Ablauf mit JWT-Verifizierung vollständig.
| Anbieter | Protokoll | Client-Geheimnis erforderlich |
|---|---|---|
| OAuth 2.0 | Nein | |
| Apple | OAuth 2.0 + OpenID | Ja |
| OAuth 2.0 | Ja | |
| OAuth 1.0a | Ja | |
| GitHub | OAuth 2.0 | Ja |
Phone Auth ist die Authentifizierung per SMS-Code, der an die Telefonnummer des Benutzers gesendet wird. Firebase verwendet Silent APN (iOS) oder SMS Retriever API (Android), um den Code automatisch ohne Tastatureingabe zu lesen. Auf Android funktioniert die SMS Retriever API nur auf Geräten mit Google Play-Diensten. Für Regionen, in denen SMS nicht verfügbar ist, unterstützt Firebase reCAPTCHA-Verifizierung als Fallback. Die Telefonauthentifizierung ist entscheidend für Apps, die eine Telefonnummerbindung erfordern — Essenslieferung, Mitfahrgelegenheiten, Bankwesen.
Firebase Auth zu Android hinzufügen erfordert das Hinzufügen der firebase-auth-ktx-Abhängigkeit in build.gradle und die Initialisierung der Firebase App (erfolgt automatisch über das Google Services-Plugin). Danach ist das FirebaseAuth-Objekt über die statische Methode getInstance() verfügbar — ein Singleton für die gesamte App. Keine zusätzliche Konfiguration erforderlich.
// build.gradle (app-level)
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.1.0"))
implementation("com.google.firebase:firebase-auth-ktx")
implementation("com.google.android.gms:play-services-auth:21.0.0")
}
createUserWithEmailAndPassword ist die Hauptmethode für die Registrierung. Sie nimmt eine E-Mail und ein Passwort entgegen, erstellt einen Benutzer in Firebase Auth und gibt ein AuthResult-Objekt mit der UID zurück. Wenn bereits ein Benutzer mit dieser E-Mail existiert, gibt Firebase den Fehler ERROR_EMAIL_ALREADY_IN_USE zurück. Nach erfolgreicher Registrierung speichert das SDK das Token automatisch in SharedPreferences und stellt die Sitzung beim nächsten App-Start ohne Aufruf von signIn wieder her.
class AuthViewModel {
private val auth = FirebaseAuth.getInstance()
suspend fun register(email: String, password: String): Result<User> {
return try {
val result = auth.createUserWithEmailAndPassword(email, password).await()
Result.success(result.user?.toUser() ?: throw Exception("User is null"))
} catch (e: FirebaseAuthException) {
Result.failure(e)
}
}
}
Für Google Sign In wird ein zweistufiger Prozess verwendet: Abrufen eines ID-Tokens über den Credential Manager (Android) oder das Google Sign-In SDK, dann Übergeben des Tokens an eine Firebase-Anmeldeinformation. Firebase überprüft das Token auf seinem Server (prüft die Signatur mit dem RSA-Schlüssel von Google) und erstellt oder gibt den vorhandenen Benutzer zurück. Der Prozess erfordert keine Speicherung eines Geheimnisses auf dem Client — die gesamte Authentifizierung erfolgt durch kryptografische Token-Überprüfung.
Firebase Auth verwaltet den Sitzungslebenszyklus automatisch. Nach der Anmeldung speichert das SDK das Aktualisierungstoken im lokalen Speicher und stellt bei jedem App-Neustart die Sitzung über eine stille Anmeldung wieder her. Entwickler müssen keine Tokenspeicherung, Ablaufverwaltung oder Aktualisierung implementieren — das Firebase Auth SDK erledigt alles.
FirebaseAuth.getInstance().currentUser gibt ein FirebaseUser-Objekt zurück, wenn die Sitzung aktiv ist, oder null, wenn der Benutzer abgemeldet ist. FirebaseUser enthält UID, E-Mail, displayName, photoUrl, phoneNumber, providerData und eine Liste von Claims. Nach Profilaktualisierungen (updateProfile) werden Änderungen automatisch mit dem Server synchronisiert. Das FirebaseUser-Objekt wird im Arbeitsspeicher zwischengespeichert und bei allen Authentifizierungsvorgängen aktualisiert.
signInAnonymously erstellt einen temporären Benutzer ohne Registrierung. Anonyme Benutzer haben eine UID, aber keine E-Mail, keinen Namen und keinen Anbieter. Dies ist nützlich für Apps, bei denen Inhalte vor der Registrierung verfügbar sind (Warenkorb, Favoriten, Verlauf). Wenn der Benutzer sich registrieren möchte, wird das anonyme Konto über linkWithCredential mit einem permanenten Konto verknüpft. Im Spark-Plan gibt es eine Grenze von 10.000 anonymen Authentifizierungen pro Tag.
Laut Google (2026) beginnen etwa 40 % der Benutzer die Nutzung einer App anonym, und 25 % von ihnen verknüpfen später ihr anonymes Konto mit einem permanenten Konto. Dies bedeutet, dass die anonyme Authentifizierung beim Übergang eines Benutzers zu einem registrierten keine Daten verliert.
Die signOut()-Methode löscht die lokale Sitzung und entfernt das gespeicherte Token. Nach dem Aufruf von signOut wird currentUser zu null. Die delete()-Methode entfernt das Benutzerkonto vollständig aus Firebase Auth — alle verknüpften Anbieter werden getrennt und der Zugriff auf Firebase-Dienste wird blockiert. Die Benutzerlöschung ist irreversibel und erfordert eine erneute Authentifizierung, um eine unbefugte Kontolöschung zu verhindern.
Custom Claims sind benutzerdefinierte Attribute, die Firebase Auth zum JWT-Token des Benutzers hinzufügt. Im Gegensatz zu Standardprofilfeldern (E-Mail, displayName) sind Claims nur auf der Serverseite verfügbar — über das Admin SDK oder durch Regeln in den Firebase Security Rules für Firestore und Realtime Database. Claims sind für den Client nicht direkt sichtbar, können aber über user.getIdTokenResult() gelesen werden.
Rollen und Zugriffsrechte sind der häufigste Anwendungsfall für Claims. Das Admin SDK ermöglicht die Zuweisung der Rolle „admin“, „moderator“ oder „premium_user“ über eine Map auf dem Server. Diese Claims werden automatisch in das Token aufgenommen und können in den Firestore Security Rules für die Zugriffskontrolle verwendet werden. Laut Google (2026) verwenden 65 % der Firebase-Projekte benutzerdefinierte Claims für die Datenzugriffsverwaltung anstelle eines separaten Rollenservers.
// Admin SDK (Node.js) — Zuweisung von Claims an Benutzer
const admin = require("firebase-admin")
await admin.auth().setCustomUserClaims(uid, {
role: "premium",
tier: "pro",
maxProjects: 50
})
// Lesen von Claims auf dem Client
val claims = FirebaseAuth.getInstance()
.currentUser?.getIdTokenResult(true)
?.await()?.claims
Benutzerdefinierte Claims haben Einschränkungen: maximal 1000 Bytes für das gesamte JSON-Claims-Objekt pro Benutzer, nicht mehr als 20 Schlüssel im Objekt. Claims sind nicht für die Speicherung dynamischer Daten ausgelegt — sie werden nur über das Admin SDK aktualisiert und nicht in Echtzeit synchronisiert. Nach der Aktualisierung von Claims muss der Benutzer das Token aktualisieren (getIdTokenResult(true)) oder sich erneut in der App anmelden. Claims werden nicht auf dem Client zwischengespeichert — jeder neue Login erhält ein aktuelles Token vom Server.
Firebase Auth implementiert mehrschichtigen Kontoschutz: Verkehrsverschlüsselung (TLS 1.3), Passwort-Hashing (bcrypt, Kosten 10), Brute-Force-Schutz mit Adaptive Pricing (automatische Verlangsamung der Antwort bei verdächtiger Aktivität) und reCAPTCHA-Integration für die Web-Anmeldung. Zusätzlich deaktiviert Firebase Auth Konten bei verdächtiger Aktivität — Massenanmeldungen von verschiedenen IPs, fehlgeschlagene Passwortversuche und verdächtige E-Mail-Adressen.
Account Lockout — automatische Kontosperrung nach einer bestimmten Anzahl fehlgeschlagener Anmeldeversuche. Der Schwellenwert ist in der Firebase-Konsole konfigurierbar (Standard sind 10 Versuche). Email Enumeration Protection — Schutz vor der Aufzählung von E-Mail-Adressen. Bei Aktivierung gibt Firebase denselben Fehler sowohl für vorhandene als auch für nicht vorhandene E-Mails zurück. Trusted Domains — Einschränkung der Anmeldung auf Benutzer mit in den Einstellungen angegebenen E-Mail-Domänen.
Zusätzliche benutzerdefinierte Authentifizierung kann mit Custom Tokens erstellt werden — JWT, die von einem Firebase-Dienstkonto signiert werden. Der Client übergibt das benutzerdefinierte Token an signInWithCustomToken(), Firebase überprüft die Signatur und erstellt eine Sitzung. Dies ermöglicht die Integration von Firebase Auth mit vorhandener serverseitiger Authentifizierung (z. B. Ihrem eigenen OAuth 2.0-Server), ohne die Benutzerdatenbank zu duplizieren. Das Token ist 1 Stunde gültig, danach aktualisiert das SDK die Sitzung automatisch über ein Firebase-Aktualisierungstoken.
Häufig gestellte Fragen
Firebase Auth ist für alle Anbieter sowohl im Spark- als auch im Blaze-Plan völlig kostenlos. Grenzen: 10.000 anonyme Registrierungen pro Tag (Spark) und 10.000 SMS-Verifizierungen pro Monat (Spark).
Verwenden Sie linkWithCredential — eine Methode, die einen neuen Anbieter mit dem aktuellen anonymen oder E-Mail-Benutzer verknüpft. Der Benutzer meldet sich über Google an und verknüpft dann seine E-Mail über linkWithCredential.
Firebase Auth benötigt Internet für die Anmeldung, speichert die Sitzung jedoch lokal zwischen. Nach der Anmeldung arbeitet die App im Offline-Modus, bis eine Token-Aktualisierung erforderlich ist (einmal pro Stunde).
Gehen Sie in der Firebase-Konsole zum Abschnitt Authentication, suchen Sie den Benutzer und klicken Sie auf „Revoke Tokens“. Alle aktiven Benutzersitzungen werden innerhalb von 30 Minuten ungültig.
Die Kontolöschung über die Konsole oder das Admin SDK blockiert sofort den Zugriff auf alle Firebase-Dienste. Token funktionieren nicht mehr. Daten in Firestore, Realtime Database und Storage werden nicht automatisch gelöscht.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch