Splync v1.0-ról Splync v1.1-re
Amikor regisztrálsz a Splyncre, meg kell adnod az e-mail címed és a jelszavad. Ahogy korábbi cikkekben már bemutattam, a Splync v1.0 már tartalmazott alapvető biztonsági intézkedéseket. Az adataid átvitelét a HTTPS védi. A szerverünket az SSH védi, így senki más, csak a fejlesztő férhet hozzá. A jelszavadat soha nem tároltuk egyszerű szövegként; a jelszó kódolva van az adatbázisban, így senki sem tudja visszafejteni. Azonban a v1.0 titka az volt, hogy nem volt e-mailes hitelesítés a fiók létrehozásakor. A Splync, mint MVP (Minimum Viable Product), ezzel a funkcióval nem rendelkezett, mivel az alkalmazás még csak olyan szakaszban volt, hogy csak a barátaim tudtak a létezéséről. A v1.0-ban az alkalmazás egyszerűen ellenőrizte, hogy a megadott e-mail cím tartalmaz-e egy „@” jelet a betűk között, és hogy egyedi-e a meglévő fiókok között.
Mi történik, ha nincs e-mailes hitelesítés
Ha egy alkalmazás lehetővé teszi, hogy a felhasználók azonosítás nélkül hozzanak létre fiókot, könnyen elképzelhető, hogy valaki más e-mail címét használja fel a saját fiókjához. Pontosan ez történhetne. Bár ez nem jelenti azt, hogy az adatai kiszivárognának, azt viszont igen, hogy nem tudnál regisztrálni a saját e-mail címeddel, ha azt már valaki más használta. Emellett valaki teljesen fiktív e-mail címmel is létrehozhatna egy fiókot. Ez eleinte nem tűnhet komolynak, de katasztrófává válhat, amikor a fejlesztő próbálja megterhelni vagy felvenni a kapcsolatot azzal a felhasználóval. Még azt sem tudnám, ki az a személy valójában! Ezért az e-mailes hitelesítés volt a következő lépés a Splync számára.
Hogyan működik az e-mailes hitelesítés
A Splync v1.1-ben, amikor egy új felhasználó regisztrál, az alkalmazás automatikusan küld egy e-mailt a megadott címre. Ez az e-mail tartalmaz egy egyedi, automatikusan generált hitelesítési linket. A linkre kattintva a felhasználó megerősíti, hogy valóban hozzáfér az adott e-mail fiókhoz. A hitelesítés után a szerver aktiválja a felhasználó fiókját, és érvényes, hitelesített felhasználóként tárolja az adatbázisban. Ismerősen hangzik, ugye? Ez a folyamat biztosítja, hogy minden fiók a Splync-ben egy valós, elérhető személyhez tartozzon — egy kicsi, de fontos lépés a megbízható közösség építése felé. Vizsgáljuk meg közelebbről, hogyan van ez a technikai szempontból megvalósítva.
Az e-mailes hitelesítés technikai megvalósítása
A Splync háttere Python/FastAPI-t használ, a mobilalkalmazás pedig SwiftUI-val készült. Az alkalmazás csak a felhasználói felületet kezeli, míg a hitelesítési logika és az érzékeny adatok biztonságosan a szerveren maradnak. A v1.1-ben hozzáadtunk egy alapvető e-mailes hitelesítési lépést az „ellenőrizetlen felhasználó” és az „ellenőrzött felhasználó” között. Amikor egy új felhasználó regisztrál, az alkalmazás elküldi a megadott adatokat a szervernek. A szerver MariaDB adatbázist használ. Az adatbázisba nem ellenőrzöttként kerül be a felhasználó. A jelszó hashelve van elmentve, de a fiók még nem aktív. Ekkor a szerver létrehoz egy egyedi hitelesítési tokent lejárati idővel. Ezután egy SMTP (Simple Mail Transfer Protocol) szerver segítségével a szerver elküld egy hitelesítő e-mailt, amely tartalmaz egy biztonságos, egyszer használatos linket. Amikor a felhasználó megnyitja a linket, a szerver ellenőrzi, hogy a token érvényes és nem járt le. A hitelesítés után a fiók aktívvá válik, és a felhasználó normálisan bejelentkezhet az alkalmazásból. Ez a módszer biztonságosan és egyszerűen biztosítja az azonosítást.
Python? FastAPI? SwiftUI? SMTP? MariaDB
Ha ezek titkos kódnak tűnnek, ne aggódj — ezek csak azok az eszközök, amelyek együtt működtetik a rendszert. Képzeld el a Splync regisztrációs folyamatát úgy, mint egy ügyfélszolgálati központ, ahol valaki személyazonosságát ellenőrzik. "Megkaphatnám a nevét és az e-mail címét?" kérdezi SwiftUI, a barátságos recepciós. Te megadod neki az adataidat, és ő azt mondja: "Kérem, tartsa a vonalat egy pillanatra." Azonnal továbbítja azokat a FastAPI-nek, az iroda belső telefonrendszerének. FastAPI összekapcsolja őt Pythonnal, a háttérben dolgozó szakértővel, aki az ellenőrzésért felel. Python egyeztet MariaDB-val, az ügyféladatbázissal, hogy biztonságosan rögzítse az információidat — „ellenőrizetlen” állapotban. Ezután Python megkéri SMTP-t, az üzenetküldőt, hogy küldjön neked egy megerősítő e-mailt biztonságos linkkel. Amikor rákattintasz a linkre, Python ellenőrzi, hogy az érvényes-e, és frissíti az adatokat MariaDB-ban „ellenőrzött”-re. Végül FastAPI értesíti a recepcióst, hogy azonosításod megerősítve, és a fiókod most aktív. Ezek együtt emberbarát és biztonságos hitelesítési folyamatot biztosítanak a Splync számára.
A Splync biztonsági útjának következő lépése
Az e-mailes hitelesítés apróságnak tűnhet, de mindent megváltoztat a bizalom terén. Ez jelzi azt a pillanatot, amikor a Splync átalakul egy baráti projektből egy nyilvános alkalmazássá, ahol bárki magabiztosan csatlakozhat. Az SMTP-n keresztül küldött hitelesítési link még olyan, mint a Splync első kézfogása egy új felhasználóval. A háttérben ez a funkció előkészíti a terepet a jövőbeli fejlesztéseknek — jelszó-visszaállítások, többtényezős hitelesítés és fiók-helyreállítás. Minden biztonsági réteg az előzőre épül. Az e-mailes hitelesítéssel a Splync v1.1 jelentős előrelépést tesz — ami nemcsak kényelmessé, de valóban megbízhatóvá is teszi a közös költségkezelést.