Dette nettstedet er automatisk oversatt til flere språk ved hjelp av programvare utviklet av Kohei Koyanagi. Se originalen på engelsk for best nøyaktighet.

Splync v1.1 er lansert med e-postbekreftelse

Splync v1.0 til Splync v1.1

Når du registrerer deg for Splync, blir du bedt om å angi e-postadresse og passord. Som jeg nevnte i tidligere artikler, hadde Splync v1.0 allerede grunnleggende sikkerhetstiltak. Dataoverføringen din var beskyttet av HTTPS. Serveren vår var sikret med SSH slik at ingen andre enn utvikleren kunne få tilgang. Passordet ditt ble aldri lagret i klartekst, men ble hashet i databasen slik at ingen kunne dekode det. Men hemmeligheten med v1.0 var at den ikke hadde e-postbekreftelse i opprettelsen av kontoer. Splync, som en MVP (Minimum Viable Product), ble lansert uten denne funksjonen fordi appen fortsatt var på et stadium der bare vennene mine visste om dens eksistens. I v1.0 sjekket appen bare om den angitte e-posten inneholdt en “@” mellom bokstavstrenger og om den var unik blant eksisterende kontoer.

Hva skjer hvis det ikke er e-postbekreftelse

Hvis en app lar brukere opprette en konto uten å verifisere deres identitet, er det lett å forestille seg at noen bruker en annen persons e-postadresse for å opprette sin egen konto. Det er akkurat hva som kunne skje. Selv om dette ikke betyr at dataene dine ville blitt lekket, ville det bety at du ikke ville kunne registrere deg med din egen e-postadresse hvis den allerede var i bruk. Dessuten kunne noen opprette en konto med en helt fiktiv e-postadresse. Dette kan kanskje ikke virke alvorlig i starten, men det ville bli katastrofalt når utvikleren prøver å belaste eller kontakte den brukeren senere. Jeg ville ikke engang vite hvem den personen egentlig er! Så e-postbekreftelse var neste steg for Splync.

Hvordan e-postbekreftelse fungerer

I Splync v1.1, når en ny bruker registrerer seg, sender appen automatisk en e-post til adressen de skrev inn. Denne e-posten inneholder en unik, automatisk generert bekreftelseslenke. Ved å klikke på denne lenken, bekrefter brukeren at de faktisk har tilgang til den e-postkontoen. Når den er bekreftet, aktiverer serveren brukerens konto og lagrer den i databasen som en gyldig, autentisert bruker. Høres kjent ut, ikke sant? Denne prosessen sikrer at hver konto i Splync tilhører en ekte, kontaktbar person — et lite, men viktig skritt mot å bygge et pålitelig fellesskap. La oss se nærmere på hvordan denne flyten er implementert fra et teknisk perspektiv.

Teknisk implementering av e-postbekreftelse

Splync’s backend bruker Python/FastAPI, og mobilappen er bygget med SwiftUI. Appen håndterer kun brukergrensesnittet, mens bekreftelseslogikken og sensitive legitimasjoner forblir trygt på serveren. I v1.1 har vi lagt til et standard e-postbekreftelsestrinn mellom “uverifisert bruker” og “verifisert bruker.” Når en ny bruker registrerer seg, sender appen de angitte dataene til serveren. Serveren har en database av MariaDB. Den lagrer brukeren som uverifisert i databasen. Passordet blir hashet og lagret, men kontoen er ikke aktiv ennå. På det tidspunktet genererer serveren også et unikt bekreftelses-token med en utløpstid. Deretter, ved hjelp av en SMTP (Simple Mail Transfer Protocol) server, sender serveren en bekreftelses-e-post som inneholder en sikker, engangslenke. Når brukeren åpner lenken, sjekker serveren at tokenet er gyldig og ikke utløpt. Når det er bekreftet, blir kontoen aktiv, og brukeren kan logge inn normalt fra appen. Dette holder autentiseringen sikker og lettvekts.

Python? FastAPI? SwiftUI? SMTP? MariaDB

Hvis dette høres ut som en hemmelig kode, ikke bekymre deg — det er bare verktøyene som får systemet til å fungere sammen. Tenk på Splync's registreringsflyt som et kundesupportsenter som verifiserer noens identitet. “Kan jeg få navnet ditt og e-postadressen din?” spør SwiftUI, den vennlige operatøren i resepsjonen. Du gir henne detaljene dine, og hun sier, “Kan du være så snill å vente et øyeblikk?” Hun videresender dem umiddelbart til FastAPI, kontorets interne telefonsystem. FastAPI kobler henne til Python, spesialisten på bakrommet som har ansvar for bekreftelse. Python sjekker med MariaDB, kundedatabasen, for å lagre informasjonen din trygt — markerer statusen din som “uverifisert.” Deretter ber Python SMTP, den eksterne budbringeren, om å sende deg en bekreftelses-e-post med en sikker lenke. Når du klikker på lenken, verifiserer Python at den er gyldig og oppdaterer din post i MariaDB til “verifisert.” Til slutt lar FastAPI operatøren vite at identiteten din er bekreftet, og kontoen din er nå aktiv. Sammen gjør disse delene Splync’s verifikasjonsprosess både menneskelig og sikker.

Neste steg i Splyncs sikkerhetsreise

E-postbekreftelse kan virke som en liten funksjon, men den forandrer alt når det gjelder tillit. Den markerer øyeblikket når Splync utvikler seg fra et personlig prosjekt blant venner til en offentlig app hvor hvem som helst kan bli med med tillit. Å sende en bekreftelseslenke via SMTP føles til og med som Splync's første håndtrykk med en ny bruker. Bak kulissene legger denne funksjonen grunnlaget for fremtidige forbedringer — tilbakestilling av passord, flerfaktorautentisering og kontogjenoppretting. Hvert sikkerhetslag bygger på det forrige. Med e-postbekreftelse tar Splync v1.1 et meningsfullt skritt fremover — som gjør delte utgifter håndtering ikke bare praktisk, men også pålitelig.