Splync v1.0 na Splync v1.1
Pri registrácii do Splync zadávate emailovú adresu a heslo. Ako som už spomínal, Splync v1.0 mal základné bezpečnostné opatrenia. Prenos vašich dát bol chránený pomocou HTTPS. Náš server bol zabezpečený cez SSH, takže k nemu mal prístup len vývojár. Vaše heslo nebolo nikdy uložené v čistej forme, ale bolo zašifrované v databáze, takže ho nikto nemohol dekódovať. Tajomstvom verzie v1.0 však bolo, že proces vytvárania účtu neobsahoval overenie emailu. Splync bol vydaný ako MVP (Minimálne životaschopný produkt) bez tejto funkcie, pretože v tom čase o aplikácii vedeli len moji priatelia. V verzii v1.0 aplikácia len kontrolovala, či zadaný email obsahuje „@“ medzi reťazcami písmen a či je jedinečný medzi existujúcimi účtami.
Čo sa stane, ak nie je overenie emailu
Ak aplikácia umožňuje používateľom vytvoriť účet bez overenia ich identity, je ľahké si predstaviť, že niekto použije emailovú adresu niekoho iného na vytvorenie vlastného účtu. To sa presne môže stať. Hoci to neznamená, že by vaše dáta boli uniknuté, znamená to, že by ste sa nemohli registrovať s vlastnou emailovou adresou, ak už bola použitá. Navyše, niekto by mohol vytvoriť účet s úplne vymyslenou emailovou adresou. To sa môže na prvý pohľad zdať ako maličkosť, no stane sa z toho katastrofa, keď sa vývojár pokúsi neskôr účtovať alebo kontaktovať toho používateľa. Ani by som nevedel, kto je tá osoba naozaj! Preto bolo overenie emailu ďalším krokom pre Splync.
Ako funguje overenie emailu
V Splync v1.1, keď sa nový používateľ zaregistruje, aplikácia automaticky pošle email na zadanú adresu. Tento email obsahuje jedinečný, automaticky generovaný overovací odkaz. Kliknutím na tento odkaz používateľ potvrdzuje, že má naozaj prístup k tejto emailovej schránke. Po overení server aktivuje účet používateľa a uloží ho do databázy ako platného, overeného používateľa. Znie to povedome, však? Tento proces zaručuje, že každý účet v Splync patrí skutočnej, dosiahnuteľnej osobe — malý, ale podstatný krok k budovaniu dôveryhodnej komunity. Pozrime sa bližšie na to, ako je tento proces implementovaný z technického hľadiska.
Technická implementácia overenia emailu
Backend Splync používa Python/FastAPI a mobilná aplikácia je postavená na SwiftUI. Aplikácia spracováva iba užívateľské rozhranie, zatiaľ čo logika overovania a citlivé údaje zostávajú bezpečne na serveri. Vo verzii v1.1 sme pridali štandardný krok overenia emailu medzi „neoverený používateľ“ a „overený používateľ“. Keď sa nový používateľ zaregistruje, aplikácia odošle zadané údaje na server. Server má databázu MariaDB. Ukladá používateľa ako neovereného do databázy. Heslo je zašifrované a uložené, ale účet ešte nie je aktívny. V tom okamihu server tiež generuje jedinečný overovací token s časom vypršania. Následne pomocou SMTP (Simple Mail Transfer Protocol) server odošle overovací email obsahujúci bezpečný, jednorazový odkaz. Keď používateľ otvorí odkaz, server skontroluje platnosť a neuplynutie tokenu. Po overení sa účet stane aktívnym a používateľ sa môže normálne prihlásiť z aplikácie. Týmto sa zabezpečí bezpečnosť a jednoduchosť autentifikácie.
Python? FastAPI? SwiftUI? SMTP? MariaDB
Ak tieto znejú ako tajný kód, nebojte sa — sú to len nástroje, ktoré systém spájajú dohromady. Predstavte si registračný proces Splync ako zákaznícke centrum, ktoré overuje niekoho identitu. „Môžem vás poprosiť o vaše meno a emailovú adresu?“ pýta sa SwiftUI, priateľská operátorka na recepcii. Povieš jej svoje údaje a ona hovorí: „Mohli by ste prosím chvíľu počkať?“ Ihneď ich preposiela FastAPI, vnútropodnikovému telefónnemu systému. FastAPI ju spojí s Pythonom, špecialistom zadného úradu zodpovedným za overenie. Python sa skontaktuje s MariaDB, zákazníckou databázou, aby bezpečne zaznamenal vaše informácie — označujúc váš status ako „neoverený“. Potom Python požiada SMTP, externého posla, aby vám poslal potvrdzujúci email s bezpečným odkazom. Keď kliknete na odkaz, Python overí jeho platnosť a aktualizuje váš záznam v MariaDB na „overený“. Nakoniec FastAPI informuje operátorku, že vaša identita bola potvrdená a váš účet je teraz aktívny. Tieto časti spolu robia overovací proces Splync ľudským a bezpečným.
Ďalší krok v bezpečnostnej ceste Splync
Overenie emailu sa môže zdať ako malá funkcia, ale mení všetko, čo sa týka dôvery. Označuje moment, keď sa Splync mení z osobného projektu medzi priateľmi na verejnú aplikáciu, kde sa môže ktokoľvek pridať s dôverou. Odoslanie overovacieho odkazu cez SMTP dokonca pôsobí ako prvý podaný ruku novému používateľovi. V zákulisí táto funkcia vytvára základ pre budúce vylepšenia — resetovanie hesiel, viacfaktorové overenie a obnovu účtov. Každá vrstva bezpečnosti stavia na predchádzajúcej. S overením emailu, Splync v1.1 robí významný krok vpred — spravovanie zdieľaných výdavkov sa stáva nielen pohodlné, ale aj skutočne spoľahlivé.