Skip to content
Kezdőlap » Authentikáció elmélet és Firebase

Authentikáció elmélet és Firebase

Az authentikáció azonosítást jelent. Magyarul van egy felhasználót azonosítunk valamilyen egyedi névvel és jelszóval. Authentikáció persze nem csak Firebase-el lehetséges, azonban meglátjuk, hogy ezzel hihetetlenül egyszerű.

firebase authentikáció
A logót innen vettem, és köszönöm!

Az authentikáció elmélete

Először is meg kellene néznünk azt, hogy elméletben hogyan történik az azonosítás.

Van egy mobil appunk, az azonosításhoz szükséges egy háttérrendszer (backend (röviden BE)), egy backend API, mint mondjuk a Firebase, vagy egyéb bármilyen API.

A háttérrendszeren történik meg a hitelesítő adatok (credentials) validációja. Például az email és jelszó, amit a user megad. A user adatok nem a telefonon, hanem az adatbázisban tárolódnak

Miután a user kitölti az azonosítási formot, az ott megadott azonosítási adatok el lesznek küldve a backend API-nak egy http kéréssel. Ez után az adatok a backend-en ellenőrizve lesznek, hogy helyes-e a megadott email és jelszó páros. Vagy, ha még nem létezik a user, akkor ellenőrizve lesz, hogy a megadott email cím helyes-e, a jelszó, hogy elég hosszú és erős, stb.

Ha minden helyes, akkor a backend visszaigazolja, hogy az azonosítási adatok jók voltak. Ezzel szinte párhuzamosan (sikeres azonosítást követően) a backend generál egy ún. azonosítási tokent. Ez a token tulajdonképpen egy sztring csupán, aminek hitelességét a backend szavatolja (úgy mondjuk, hogy aláírja). A token nem lehet valami fals, érvénytelen valami. A tokent aztán a BE visszaküldi a mobilnak. A token fontos, mert a telefon erről tudja, hogy az azonosítás sikeres volt. És ez a token szükséges a későbbi http kérésekhez, amik ugyanennek a BE-nek lesznek visszaküldve más erőforrások, más végpontok elérése érdekében. Olyan végpontok ezek, amik eléréséhez szintén azonosítás szükséges.

Amikor egy kérés egy ilyen “védett” végponthoz érkezik, akkor a tokent a telefon hozzáadja a kéréshez. A BE megnézi, hogy érvényes-e a token és, ha igen, akkor megadja a hozzáférést az adott végponthoz. A token a mobilon tárolódik.

Authentikáció a Firebase-ben

Ha már egyszer az elméletről esett szó, akkor szerintem most elméletben nézzük meg, hogy milyen tengernyi lehetőség rejlik a Firebase-ben ahhoz, hogy használjuk azt a bizonyos user azonosítást.

Egy korábbi bejegyzésből már tudjuk, hogy mi fán terem a Firebase és mi kell ahhoz, hogy egyáltalán tudjuk használni.

Ismétlés a tudás apja-anyja, szóval… Tudjuk tehát, hogy kell nekünk egy Google fiók. A fiókba való belépés után el kell mennünk a firebase.google.com oldalra, ott be kell jutni a firebase konzolba, és létre kell hozni egy projektet. Az eddigi ismereteinket teljes mértékben lefedte az említett korábbi poszt.

A https://console.firebase.google.com/u/0/ oldal a projektjeink kezdőlapja. Itt ki tudunk választani egy tetszés szerinti projektet. Amint belépünk a projektbe, rögtön látjuk honnan érhető az authentikáció:

firebase authentikáció

Klikk valamelyik Authentication lehetőségre és, ha még teljesen szűz a projekt, akkor egy Get started gomb lenyomásával tudunk kezdeni:

firebase authentikáció get started

Az authentikáció egyébként azért is jó dolog, mert együtt tud működni az adatbázissal. Ugyanis az adatbázisban le tudjuk védeni az adatokat, erőforrásokat és be tudjuk állítani a hozzáférést csak az azonosított userek számára.

A Get started lenyomása után meg tudjuk adni, hogy milyen azonosítást választunk (lehet többet is). Látszik is, hogy a Firebase mennyi azonosítási metódust kínál:

firebase authentikáció sign in methods

Ezek közül a legegyszerűbb az email címmel és jelszóval történő azonosítás. Ha azt akarjuk, hogy az alkalmazásunk számára elérhető legyen ez az azonosítási metódus, akkor kattintsunk rá, aztán kapcsoljuk be (Enable) majd Save:

firebase authentikáció email auth

Ezzel a beállítással máris használhatjuk a Firebase-t arra, hogy felhasználókat léptessünk be az alkalmazásunkba, illetve újakat hozzunk létre.

De ez egy másik történet, amit egy gyakorlatiasabb bejegyzésbe szánok.

Címkék: