Firebase Auth: mi ez, hitelesítési módszerek és bejelentkezési szolgáltatók

Szerző: IT Sectr Megjelenés: 2026-04-28 Olvasási idő: 9 perc

A Firebase Auth egy Google felhőszolgáltatás a felhasználók hitelesítésére mobil és webes alkalmazásokban, amely kész bejelentkezési módszereket kínál e-mail, telefon és közösségi hálózatok segítségével. Az SDK kezeli a teljes munkamenet-ciklust: regisztráció, bejelentkezés, token frissítése és kijelentkezés. A Google, 2026 szerint a Firebase Auth több mint 10 hitelesítési szolgáltatót támogat a dobozból. A szolgáltatás ingyenes, korlátozás nélkül a hitelesített felhasználók számát illetően.

Főbb pontok

  • Firebase Auth — egységes SDK a hitelesítéshez e-mail, Google, Apple, Facebook, Twitter és telefonos bejelentkezés támogatásával.
  • A szolgáltatás automatikusan kezeli a tokeneket, mentesítve a fejlesztőt a JWT logika implementálása alól.
  • FirebaseUI Auth — kész bejelentkezési képernyő könyvtár az alkalmazás arculatához igazítható testreszabással.
  • Az egyedi claim-ek lehetővé teszik szerepek és jogosultságok hozzárendelését az Admin SDK-n keresztül.
  • Az anonim hitelesítés ideiglenes UID-t ad regisztráció nélkül, a későbbi állandó fiókhoz kapcsolás lehetőségével.

Mi az a Firebase Auth

Firebase Auth egy Google backend szolgáltatás hitelesítéshez, amely a Firebase SDK részeként érhető el. Átveszi a fiókkezelés teljes szerveroldali logikáját: jelszóhashek tárolása, JWT tokenek generálása, OAuth 2.0 és OpenID Connect folyamatok feldolgozása. A fejlesztőnek nem kell saját auth szervert telepítenie, refresh tokeneket kezelnie vagy ellenőrzési protokollokat implementálnia — mindezt a Firebase végzi.

A szolgáltatás architektúrája

A Firebase Auth szövetségi architektúrát használ egységes felhasználói tárolóval. Minden felhasználó egyedi azonosítót (UID) kap, amely független a bejelentkezési szolgáltatótól. Google és e-mail regisztráció esetén egy felhasználó jön létre két kapcsolódó fiókkal (providers). A Firebase automatikusan kezeli a fiókok összekapcsolását (account linking) a kliens oldalon, további szerverközi kérések nélkül.

A Firebase Auth tokenek JWT (JSON Web Token) típusúak, a payload UID-t, kiadási időt, lejárati időt és egyedi claim-eket tartalmaz. Az access token 1 óráig él, a refresh token — korlátlan ideig (de visszavonható az Admin Console-on keresztül). Az SDK automatikusan frissíti a tokent minden HTTP kérésnél a Firebase szolgáltatásokhoz. A Google (2026) szerint a Firebase Auth naponta több mint 500 millió hitelesítést szolgál ki.

Díjcsomagok és korlátok

Firebase Auth teljesen ingyenes a Spark (ingyenes) és Blaze (pay-as-you-go) díjcsomagokban. Az egyetlen korlátozás napi 10 ezer anonim hitelesítés a Sparkban (a Blaze-ben a korlát megszűnik). Az e-mail/telefon és OAuth hitelesítéseknek nincs korlátja. Telefonos ellenőrzéshez a Spark havi 10 ezer ellenőrzést biztosít, a Blaze — használatarányos fizetést ($0,01 ellenőrzésenként a 10 ezer kimerítése után). Ez teszi a Firebase Auth-ot az egyik legkedvezőbb megoldássá a piacon.

Firebase Auth hitelesítési szolgáltatók

Firebase Auth 12 hitelesítési szolgáltatót támogat a dobozból. Minden szolgáltató külön identitásszolgáltatásként van implementálva, előre meghatározott folyamattal — a fejlesztőnek csak egy Credential objektumot kell létrehoznia és átadnia a signInWithCredential-nek. A Firebase automatikusan meghatározza, hogy a felhasználó új vagy meglévő, és duplikált e-mail esetén felajánlja a fiókok összekapcsolását.

E-mail és jelszó

E-mail/Jelszó — alap hitelesítési módszer jelszóhashek (bcrypt) tárolásával a Firebase szervereken. Támogatott a regisztráció, bejelentkezés, jelszó-visszaállítás e-mailen keresztül és e-mail megerősítés. A Firebase automatikusan ellenőrzi a jelszó összetettségét (minimum 6 karakter), és N sikertelen próbálkozás után blokkolhatja a bejelentkezést (brute-force elleni védelem).

Közösségi szolgáltatók

Google, Apple, Facebook, Twitter, Microsoft, Yahoo, GitHub — az összes OAuth 2.0 szolgáltató 5 percen belül konfigurálható a Firebase konzolon keresztül. Minden szolgáltatóhoz meg kell szerezni a Client ID-t és Client Secret-et a szolgáltató saját konzolján. Az Apple Sign In kötelező az App Store alkalmazásaihoz (Apple követelmény 2020 óta). A Firebase Auth teljes mértékben támogatja az Apple Sign In folyamatot JWT ellenőrzéssel.

SzolgáltatóProtokollClient Secret szükséges
GoogleOAuth 2.0Nem
AppleOAuth 2.0 + OpenIDIgen
FacebookOAuth 2.0Igen
TwitterOAuth 1.0aIgen
GitHubOAuth 2.0Igen

Telefonos hitelesítés

Phone Auth — hitelesítés SMS-kóddal, amelyet a felhasználó telefonszámára küldenek. A Firebase Silent APN-t (iOS) vagy SMS Retriever API-t (Android) használ a kód automatikus beolvasásához billentyűzet nélkül. Androidon az SMS Retriever API csak Google Play Services-szel rendelkező eszközökön működik. Azokban a régiókban, ahol az SMS nem elérhető, a Firebase reCAPTCHA ellenőrzést támogat tartalékként. A telefonos hitelesítés kritikus a számhoz kötött alkalmazásoknál — ételrendelés, taxi, banki szolgáltatások.

Firebase Auth integrálása Androidba

Firebase Auth csatlakoztatása Androidon megköveteli a firebase-auth-ktx függőség hozzáadását a build.gradle-hez és a Firebase App inicializálását (automatikusan végrehajtva a Google Services plugin által). Ezt követően a FirebaseAuth objektum a statikus getInstance() metóduson keresztül érhető el — egy singleton a teljes alkalmazás számára. Nincs szükség további konfigurációra.

groovy
// build.gradle (alkalmazás szint)
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")
}

Felhasználó regisztrálása e-mail cím segítségével

createUserWithEmailAndPassword — a regisztráció elsődleges metódusa. Fogadja az e-mailt és jelszót, létrehozza a felhasználót a Firebase Auth-ban, és visszaad egy AuthResult objektumot UID-vel. Ha már létezik felhasználó ezzel az e-mail címmel, a Firebase ERROR_EMAIL_ALREADY_IN_USE hibát ad vissza. Sikeres regisztráció után az SDK automatikusan elmenti a tokent a SharedPreferences-ben, és az alkalmazás következő indításakor visszaállítja a munkamenetet a signIn meghívása nélkül.

kotlin
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)
        }
    }
}

Bejelentkezés Google segítségével

A Google Sign In esetében kétlépcsős folyamatot használnak: ID Token megszerzése a Credential Manager (Android) vagy Google Sign-In SDK segítségével, majd a token átadása a Firebase credential-nek. A Firebase ellenőrzi a tokent a saját szerverén (ellenőrzi az aláírást a Google RSA kulcsával), és létrehozza vagy visszaadja a meglévő felhasználót. A folyamat nem igényel titok tárolását a kliens oldalon — a teljes hitelesítés a tokenek kriptográfiai ellenőrzésével történik.

Felhasználók és munkamenetek kezelése

Firebase Auth automatikusan kezeli a munkamenet életciklusát. Bejelentkezés után az SDK elmenti a refresh tokent a helyi tárolóba, és minden alkalmazás-újraindításkor visszaállítja a munkamenetet a signIn silently segítségével. A fejlesztőnek nem kell implementálnia a token tárolását, lejáratának kezelését vagy frissítését — mindezt a Firebase Auth SDK végzi.

Aktuális felhasználó

FirebaseAuth.getInstance().currentUser egy FirebaseUser objektumot ad vissza, ha a munkamenet aktív, vagy null-t, ha a felhasználó kijelentkezett. A FirebaseUser tartalmazza a UID-t, e-mailt, displayName-t, photoUrl-t, phoneNumber-t, providerData-t és a claim-ek listáját. A profil frissítése után (updateProfile) a változások automatikusan szinkronizálódnak a szerverrel. A FirebaseUser objektum a memóriában van gyorsítótárazva és minden auth műveletnél frissül.

Anonim hitelesítés

signInAnonymously — ideiglenes felhasználót hoz létre regisztráció nélkül. Az anonim felhasználók rendelkeznek UID-vel, de nincs e-mailjük, nevük vagy szolgáltatójuk. Ez olyan alkalmazásoknál hasznos, ahol a tartalom regisztráció előtt elérhető (kosár, kedvencek, előzmények). Amikor a felhasználó úgy dönt, hogy regisztrál, az anonim fiók a linkWithCredential segítségével összekapcsolódik az állandó fiókkal. A Spark díjcsomagban napi 10 ezer anonim hitelesítés korlátja van.

A Google (2026) szerint a felhasználók körülbelül 40%-a anonim módon kezdi az alkalmazás használatát, és 25%-uk később összekapcsolja az anonim fiókot egy állandó fiókkal. Ez azt jelenti, hogy az anonim hitelesítés nem veszít adatokat a felhasználó regisztrált felhasználóvá alakításakor.

Kijelentkezés és fiók törlése

A signOut() metódus törli a helyi munkamenetet és eltávolítja az elmentett tokent. A signOut meghívása után a currentUser null lesz. A delete() metódus teljesen eltávolítja a felhasználói fiókot a Firebase Auth-ból — az összes kapcsolódó szolgáltató leválasztásra kerül, és a Firebase szolgáltatásokhoz való hozzáférés blokkolva lesz. A felhasználó törlése visszafordíthatatlan, és újrahitelesítést (reauthenticate) igényel a fiók jogosulatlan törlése elleni védelem érdekében.

Egyedi claim-ek és szerepkör kezelés

Custom Claims egyedi attribútumok, amelyeket a Firebase Auth hozzáad a felhasználó JWT tokenjéhez. Ellentétben a szabványos profilmezőkkel (e-mail, displayName), a claim-ek csak a szerver oldalon érhetők el — az Admin SDK-n keresztül vagy a Firebase Security Rules szabályain keresztül a Firestore és Realtime Database számára. A claim-ek nem láthatók közvetlenül a kliens számára, de a user.getIdTokenResult() segítségével olvashatók.

Tipikus használati forgatókönyvek

Szerepkörök és hozzáférési jogosultságok — a claim-ek leggyakoribb alkalmazási forgatókönyve. Az Admin SDK lehetővé teszi a „admin“, „moderator“ vagy „premium_user“ szerepkör hozzárendelését egy szerveroldali map segítségével. Ezek a claim-ek automatikusan bekerülnek a tokenbe, és használhatók a Firestore Security Rules-ban a hozzáférés megkülönböztetésére. A Google (2026) szerint a Firebase projektek 65%-a használ custom claim-eket az adathozzáférés kezelésére külön szerepkör szerver helyett.

kotlin
// Admin SDK (Node.js) — claim-ek hozzárendelése a felhasználóhoz
const admin = require("firebase-admin")

await admin.auth().setCustomUserClaims(uid, {
    role: "premium",
    tier: "pro",
    maxProjects: 50
})

// Claim-ek olvasása a kliens oldalon
val claims = FirebaseAuth.getInstance()
    .currentUser?.getIdTokenResult(true)
    ?.await()?.claims

A claim-ek korlátai

Custom claims korlátozásokkal rendelkezik: maximum 1000 bájt a teljes JSON claims objektumra felhasználónként, legfeljebb 20 kulcs az objektumban. A claim-ek nem dinamikus adatok tárolására szolgálnak „ csak az Admin SDK-n keresztül frissíthetők, és nem szinkronizálódnak valós időben. A claim-ek frissítése után a felhasználónak meg kell újítania a tokent (getIdTokenResult(true)) vagy újra be kell jelentkeznie. A claim-ek nincsenek gyorsítótárazva a kliens oldalon — minden új bejelentkezés az aktuális tokent kapja a szervertől.

Hitelesítés biztonsága

Firebase Auth többrétegű fiókvédelmet implementál: forgalom titkosítása (TLS 1.3), jelszó hashelése (bcrypt, költség 10), brute-force elleni védelem Adaptive Pricing segítségével (automatikus válaszlassítás gyanús tevékenység esetén) és reCAPTCHA integráció webes bejelentkezéshez. Ezenkívül a Firebase Auth letiltja a fiókokat gyanús tevékenység esetén — tömeges bejelentkezés különböző IP-címekről, bejelentkezési kísérletek hibás jelszóval és gyanús e-mail címek esetén.

Védelmi módszerek

Account Lockout — a fiók automatikus zárolása bizonyos számú sikertelen bejelentkezési kísérlet után. A küszöbérték a Firebase konzolban állítható be (alapértelmezés szerint 10 kísérlet). Email Enumeration Protection — védelem az e-mail címek kiderítése ellen. Bekapcsoláskor a Firebase ugyanazt a hibát adja vissza mind a meglévő, mind a nem létező e-mail címre. Trusted Domains — a bejelentkezés korlátozása csak a beállításokban meghatározott e-mail domainekkel rendelkező felhasználókra.

Egyedi tokenek biztonsága

További egyedi hitelesítés építhető Custom Tokenekre — Firebase szolgáltatásfiókkal aláírt JWT-kre. A kliens átadja az egyedi tokent a signInWithCustomToken()-nek, a Firebase ellenőrzi az aláírást és létrehoz egy munkamenetet. Ez lehetővé teszi a Firebase Auth integrálását meglévő szerveroldali hitelesítéssel (pl. saját szerver OAuth 2.0) a felhasználói adatbázis duplikálása nélkül. A token 1 óráig él, ezután az SDK automatikusan megújítja a munkamenetet egy Firebase refresh token segítségével.

Gyakran ismételt kérdések

Mennyibe kerül a Firebase Auth?

Firebase Auth teljesen ingyenes minden szolgáltató számára a Spark és Blaze díjcsomagokban. Korlátok: napi 10 ezer anonim regisztráció (Spark) és havi 10 ezer SMS-ellenőrzés (Spark).

Hogyan lehet több szolgáltatót egy fiókhoz kapcsolni?

Használja a linkWithCredential — metódust, amely egy új szolgáltatót kapcsol az aktuális anonim vagy e-mail felhasználóhoz. A felhasználó Google-on keresztül jelentkezik be, majd e-mailt kapcsol a linkWithCredential segítségével.

Használható a Firebase Auth internet nélkül?

Firebase Auth internetet igényel a bejelentkezéshez, de a munkamenetet helyben gyorsítótárazza. Bejelentkezés után az alkalmazás offline módban működik, amíg a token frissítése szükségessé nem válik (óránként egyszer).

Hogyan vonhatom vissza egy felhasználó tokenjét?

A Firebase konzolban lépjen az Authentication szakaszba, keresse meg a felhasználót, és kattintson a „Revoke Tokens” gombra. A felhasználó összes aktív munkamenete 30 percen belül érvénytelenné válik.

Mi történik a felhasználó törlésekor?

Fiók törlése a konzolon vagy Admin SDK-n keresztül azonnal blokkolja a hozzáférést az összes Firebase szolgáltatáshoz. A tokenek leállnak. A Firestore, Realtime Database és Storage adatai nem törlődnek automatikusan.

Összefoglalás

  • Firebase Auth — Google felhő hitelesítési szolgáltatás egységes SDK-val Android, iOS és Web platformokhoz.
  • 12 szolgáltatót támogat a dobozból: e-mail, telefon, Google, Apple, Facebook, Twitter és mások.
  • Az SDK automatikusan kezeli a JWT tokeneket — tárolás, frissítés, munkamenet visszaállítása újraindításkor.
  • Az Custom claims az Admin SDK-n keresztül lehetővé teszik a szerepkör alapú hozzáférési modell megvalósítását külön szerver nélkül.
  • Az anonim hitelesítés ideiglenes UID-t biztosít az állandó fiókhoz kapcsolás lehetőségével.
  • Az Android integráció egyetlen függőséget, a firebase-auth-ktx-et igényel további konfiguráció nélkül.
  • A szolgáltatás beépített védelmet tartalmaz brute-force, e-mail kiderítés és gyanús fiókok automatikus blokkolása ellen.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is