Ta strona jest automatycznie tłumaczona na wiele języków za pomocą oprogramowania stworzonego przez Kohei Koyanagi. Dla najwyższej dokładności zajrzyj do oryginału w angielskim .

Splync v1.1 z weryfikacją e-mailową

Od Splync v1.0 do Splync v1.1

Podczas rejestracji w Splync prosimy o podanie adresu e-mail i hasła. Jak wspomniałem w poprzednich artykułach, Splync v1.0 już zawierał podstawowe zabezpieczenia. Twoje dane były chronione przez HTTPS. Nasz serwer był zabezpieczony przy użyciu SSH, co uniemożliwiało dostęp komukolwiek poza deweloperem. Twoje hasło nigdy nie było przechowywane w postaci zwykłego tekstu, lecz było haszowane w bazie danych, co uniemożliwiało jego odszyfrowanie. Jednak sekretem v1.0 było to, że nie zawierało weryfikacji e-mailowej przy tworzeniu konta. Splync, jako MVP (Minimum Viable Product), zostało wydane bez tej funkcji, ponieważ aplikacja była jeszcze na etapie, kiedy o jej istnieniu wiedzieli tylko moi znajomi. W wersji v1.0 aplikacja po prostu sprawdzała, czy wprowadzony e-mail zawiera "@" pomiędzy ciągami liter i czy jest unikalny wśród istniejących kont.

Co się dzieje, gdy brak weryfikacji e-mailowej

Jeśli aplikacja pozwala użytkownikom na tworzenie konta bez weryfikacji tożsamości, łatwo sobie wyobrazić, że ktoś używa cudzego adresu e-mail do utworzenia własnego konta. Dokładnie to mogło się zdarzyć. Chociaż nie oznacza to, że Twoje dane zostałyby ujawnione, oznacza to, że nie mógłbyś zarejestrować się przy użyciu swojego adresu e-mail, gdyby został już użyty. Dodatkowo, ktoś mógłby utworzyć konto używając całkowicie fikcyjnego adresu e-mail. Na początku może to nie wydawać się poważne, ale byłoby katastrofą, gdyby deweloper próbował później obciążyć lub skontaktować się z takim użytkownikiem. Nie wiedziałbym nawet, kim ta osoba naprawdę jest! Dlatego weryfikacja e-mailowa była kolejnym krokiem dla Splync.

Jak działa weryfikacja e-mailowa

W Splync v1.1, gdy nowy użytkownik się rejestruje, aplikacja automatycznie wysyła e-mail na podany adres. E-mail zawiera unikalny, automatycznie wygenerowany link weryfikacyjny. Klikając na ten link, użytkownik potwierdza, że rzeczywiście ma dostęp do tego konta e-mail. Po weryfikacji serwer aktywuje konto użytkownika i zapisuje je w bazie danych jako ważne, uwierzytelnione konto. Brzmi znajomo, prawda? Ten proces gwarantuje, że każde konto w Splync należy do prawdziwej, osiągalnej osoby — to mały, ale istotny krok w kierunku budowania zaufanej społeczności. Przyjrzyjmy się bliżej, jak ten przepływ jest wdrażany z perspektywy technicznej.

Techniczna implementacja weryfikacji e-mailowej

Backend Splync używa Python/FastAPI, a aplikacja mobilna jest zbudowana na SwiftUI. Aplikacja zajmuje się tylko interfejsem użytkownika, podczas gdy logika weryfikacji i wrażliwe dane pozostają bezpieczne na serwerze. W wersji v1.1 dodaliśmy standardowy krok weryfikacji e-mailowej między "użytkownikiem niezweryfikowanym" a "użytkownikiem zweryfikowanym". Gdy nowy użytkownik się rejestruje, aplikacja przesyła wprowadzone dane na serwer. Serwer korzysta z bazy danych MariaDB. Przechowuje użytkownika jako niezweryfikowanego w bazie danych. Hasło jest haszowane i zapisywane, ale konto nie jest jeszcze aktywne. W tym momencie serwer generuje również unikalny token weryfikacyjny z czasem wygaśnięcia. Następnie, używając serwera SMTP (Simple Mail Transfer Protocol), serwer wysyła e-mail weryfikacyjny zawierający bezpieczny, jednorazowy link. Gdy użytkownik otworzy link, serwer sprawdza, czy token jest ważny i nie wygasł. Po weryfikacji konto staje się aktywne, a użytkownik może normalnie się zalogować z aplikacji. To utrzymuje uwierzytelnienie bezpiecznym i lekkim.

Python? FastAPI? SwiftUI? SMTP? MariaDB

Jeśli brzmią jak tajny kod, nie martw się — to tylko narzędzia, które sprawiają, że system działa. Wyobraź sobie proces rejestracji w Splync jako centrum obsługi klienta weryfikujące tożsamość. “Czy mogę prosić o Twoje imię i adres e-mail?” pyta SwiftUI, przyjazna operatorka przy recepcji. Podajesz jej swoje dane, a ona mówi: “Czy możesz chwilę poczekać?” Natychmiast przekazuje je do FastAPI, wewnętrznego systemu telefonicznego biura. FastAPI łączy ją z Pythonem, specjalistą weryfikacji w backoffice. Python sprawdza w MariaDB, bazie danych klientów, aby bezpiecznie zapisać Twoje informacje — oznaczając Twój status jako "niezweryfikowany". Następnie Python prosi SMTP, zewnętrznego posłańca, aby wysłał Ci e-mail potwierdzający z bezpiecznym linkiem. Gdy klikniesz link, Python weryfikuje jego ważność i aktualizuje Twój zapis w MariaDB do "zweryfikowany". Na koniec FastAPI informuje operatorkę, że Twoja tożsamość została potwierdzona, a Twoje konto jest teraz aktywne. Razem te elementy sprawiają, że proces weryfikacji w Splync jest ludzki i bezpieczny.

Kolejny krok w podróży bezpieczeństwa Splync

Weryfikacja e-mailowa może wydawać się małą funkcją, ale zmienia wszystko w kwestii zaufania. To moment, kiedy Splync ewoluuje z osobistego projektu wśród przyjaciół w publiczną aplikację, do której każdy może dołączyć z zaufaniem. Wysłanie linku weryfikacyjnego przez SMTP nawet przypomina pierwszy uścisk dłoni Splync z nowym użytkownikiem. Za kulisami ta funkcja stanowi fundament dla przyszłych ulepszeń — resetów haseł, uwierzytelniania wieloskładnikowego i odzyskiwania konta. Każda warstwa bezpieczeństwa buduje się na poprzedniej. Dzięki weryfikacji e-mailowej Splync v1.1 robi znaczący krok naprzód — sprawiając, że zarządzanie wspólnymi wydatkami jest nie tylko wygodne, ale też naprawdę niezawodne.