Den här webbplatsen är automatiskt översatt till flera språk med programvara utvecklad av Kohei Koyanagi. Se originalet på engelska för högsta noggrannhet.

Splync v1.1 med e-postverifiering är här

Splync v1.0 till Splync v1.1

När du registrerar dig för Splync blir du ombedd att ange din e-postadress och ditt lösenord. Som jag nämnt i tidigare artiklar ingick redan grundläggande säkerhetsåtgärder i Splync v1.0. Din dataöverföring skyddades av HTTPS. Vår server var säkrad med SSH så att ingen förutom utvecklaren kunde komma åt den. Ditt lösenord lagrades aldrig i klartext utan hashades i databasen så att ingen kunde avkoda det. Men hemligheten med v1.0 var att den saknade e-postverifiering i kontoskapandeprocessen. Splync släpptes som en MVP (Minimum Viable Product) utan denna funktion eftersom appen fortfarande befann sig i ett skede där bara mina vänner kände till dess existens. I v1.0 kontrollerade appen helt enkelt om den angivna e-posten innehöll ett “@” mellan bokstavssträngar och om den var unik bland befintliga konton.

Vad händer utan e-postverifiering

Om en app tillåter användare att skapa ett konto utan att verifiera deras identitet är det lätt att föreställa sig att någon använder någon annans e-postadress för att skapa ett eget konto. Det är precis vad som kan hända. Medan detta inte betyder att din data skulle läcka, innebär det att du inte skulle kunna registrera dig med din egen e-postadress om den redan använts. Dessutom kan någon skapa ett konto med en helt påhittad e-postadress. Detta kanske inte verkar allvarligt först, men det skulle bli en katastrof när utvecklaren senare försöker debitera eller kontakta den användaren. Jag skulle inte ens veta vem den personen egentligen är! Så e-postverifiering var nästa steg för Splync.

Hur e-postverifiering fungerar

I Splync v1.1, när en ny användare registrerar sig, skickar appen automatiskt ett e-postmeddelande till den adress de angav. Detta meddelande innehåller en unik, automatiskt genererad verifieringslänk. Genom att klicka på den länken bekräftar användaren att de verkligen har åtkomst till det e-postkontot. När det har verifierats aktiverar servern användarens konto och lagrar det i databasen som en giltig, autentiserad användare. Låter bekant, eller hur? Denna process säkerställer att varje konto i Splync tillhör en riktig, nåbar person — ett litet men viktigt steg mot att bygga en pålitlig gemenskap. Låt oss ta en närmare titt på hur detta flöde implementeras ur ett tekniskt perspektiv.

Teknisk implementering av e-postverifiering

Splyncs backend använder Python/FastAPI, och mobilappen är byggd med SwiftUI. Appen hanterar endast användargränssnittet, medan verifieringslogiken och känsliga uppgifter förblir säkra på servern. I v1.1 lade vi till ett standardsteg för e-postverifiering mellan ”overifierad användare” och ”verifierad användare”. När en ny användare registrerar sig, skickar appen de angivna uppgifterna till servern. Servern har en databaserad på MariaDB. Den lagrar användaren som icke-verifierad i databasen. Lösenordet hashades och sparades, men kontot är ännu inte aktivt. Vid det tillfället genererar servern också ett unikt verifierings-token med en utgångstid. Därefter, med hjälp av en SMTP (Simple Mail Transfer Protocol) server, skickar servern ett verifieringsmail innehållande en säker, engångslänk. När användaren öppnar länken kontrollerar servern att token är giltigt och inte har gått ut. När det har verifierats blir kontot aktivt, och användaren kan logga in normalt från appen. Detta håller autentiseringen säker och lättviktig.

Python? FastAPI? SwiftUI? SMTP? MariaDB

Om dessa låter som en hemlig kod, oroa dig inte — de är bara verktygen som får systemet att fungera tillsammans. Tänk på Splyncs registreringsflöde som ett kundtjänstcenter som verifierar någons identitet. ”Kan jag få ditt namn och din e-postadress?” frågar SwiftUI, den vänliga operatören i receptionen. Du berättar dina uppgifter, och hon säger, ”Kan du vänta ett ögonblick?” Hon vidarebefordrar dem genast till FastAPI, kontorets interna telefonsystem. FastAPI kopplar henne till Python, back-office-specialisten som ansvarar för verifieringen. Python kontrollerar med MariaDB, kunddatabasen, för att säkert registrera din information — och markerar din status som ”icke-verifierad”. Sedan ber Python SMTP, den externa budbäraren, att skicka dig ett bekräftelsemail med en säker länk. När du klickar på länken verifierar Python att den är giltig och uppdaterar din post i MariaDB till ”verifierad”. Till slut låter FastAPI operatören veta att din identitet har bekräftats och ditt konto nu är aktivt. Tillsammans gör dessa delar Splyncs verifieringsprocess både mänsklig och säker.

Nästa steg i Splyncs säkerhetsresa

E-postverifiering kan verka som en liten funktion, men den förändrar allt om förtroende. Det markerar ögonblicket när Splync utvecklas från ett personligt projekt bland vänner till en offentlig app där vem som helst kan gå med med tillförsikt. Att skicka en verifieringslänk via SMTP känns till och med som Splyncs första handslag med en ny användare. I bakgrunden lägger denna funktion grunden för framtida förbättringar — lösenordsåterställningar, flerfaktorsautentisering och kontorecovery. Varje säkerhetslager bygger på det föregående. Med e-postverifiering tar Splync v1.1 ett meningsfullt steg framåt — gör hanteringen av delade utgifter inte bara bekväm, utan verkligen pålitlig.