Splync v1.0 zu Splync v1.1
Bei der Anmeldung bei Splync müssen Sie Ihre E-Mail-Adresse und Ihr Passwort eingeben. Wie ich in früheren Artikeln beschrieben habe, enthielt Splync v1.0 bereits grundlegende Sicherheitsvorkehrungen. Ihre Datenübertragung war durch HTTPS geschützt. Unser Server war mit SSH gesichert, sodass niemand außer dem Entwickler darauf zugreifen konnte. Ihr Passwort wurde nie im Klartext gespeichert, sondern in der Datenbank gehasht, sodass es niemand entschlüsseln konnte. Doch das Geheimnis von v1.0 war, dass es im Anmeldeprozess keine E-Mail-Verifizierung hatte. Splync wurde als MVP (Minimum Viable Product) ohne diese Funktion veröffentlicht, da die App noch in einem Stadium war, in dem nur meine Freunde von ihrer Existenz wussten. In v1.0 prüfte die App lediglich, ob die eingegebene E-Mail ein „@“ zwischen Buchstabenketten enthielt und ob sie unter bestehenden Konten einzigartig war.
Was passiert ohne E-Mail-Verifizierung
Wenn eine App es Nutzern erlaubt, ein Konto zu erstellen, ohne ihre Identität zu überprüfen, kann man sich leicht vorstellen, dass jemand die E-Mail-Adresse einer anderen Person verwendet, um ein eigenes Konto zu erstellen. Genau das könnte passieren. Zwar bedeutet das nicht, dass Ihre Daten geleakt werden, aber es heißt, dass Sie sich nicht mit Ihrer eigenen E-Mail-Adresse registrieren könnten, wenn diese bereits verwendet wurde. Zudem könnte jemand ein Konto mit einer vollständig erfundenen E-Mail-Adresse erstellen. Dies mag zunächst harmlos erscheinen, würde aber zum Problem, wenn der Entwickler später versucht, diesen Nutzer zu kontaktieren oder abzurechnen. Ich wüsste nicht einmal, wer diese Person wirklich ist! Deshalb war die E-Mail-Verifizierung der nächste Schritt für Splync.
Wie E-Mail-Verifizierung funktioniert
In Splync v1.1 sendet die App, wenn sich ein neuer Nutzer anmeldet, automatisch eine E-Mail an die eingegebene Adresse. Diese E-Mail enthält einen einzigartigen, automatisch generierten Bestätigungslink. Durch Klicken auf diesen Link bestätigt der Nutzer, dass er tatsächlich Zugriff auf dieses E-Mail-Konto hat. Sobald verifiziert, aktiviert der Server das Konto des Nutzers und speichert es in der Datenbank als gültigen, authentifizierten Nutzer. Klingt vertraut, oder? Dieser Prozess stellt sicher, dass jedes Konto in Splync einer echten, erreichbaren Person gehört — ein kleiner, aber entscheidender Schritt hin zu einer vertrauenswürdigen Gemeinschaft. Schauen wir uns genauer an, wie dieser Ablauf technisch umgesetzt wird.
Technische Umsetzung der E-Mail-Verifizierung
Splyncs Backend nutzt Python/FastAPI, und die mobile App wird mit SwiftUI entwickelt. Die App kümmert sich nur um die Benutzeroberfläche, während die Verifizierungslogik und sensible Daten sicher auf dem Server bleiben. In v1.1 haben wir einen Standard-E-Mail-Verifizierungsschritt zwischen „unverifizierter Nutzer“ und „verifizierter Nutzer“ hinzugefügt. Wenn sich ein neuer Nutzer anmeldet, sendet die App die eingegebenen Daten an den Server. Der Server nutzt eine MariaDB-Datenbank. Er speichert den Nutzer als unverifiziert in der Datenbank. Das Passwort wird gehasht und gespeichert, aber das Konto ist noch nicht aktiv. Zu diesem Zeitpunkt generiert der Server auch ein einzigartiges Verifizierungstoken mit einer Ablaufzeit. Anschließend sendet der Server über einen SMTP (Simple Mail Transfer Protocol) Server eine Verifizierungsmail mit einem sicheren, einmaligen Link. Wenn der Nutzer den Link öffnet, prüft der Server, ob das Token gültig und nicht abgelaufen ist. Nach der Verifizierung wird das Konto aktiv und der Nutzer kann sich normal über die App anmelden. Dies hält die Authentifizierung sicher und schlank.
Python? FastAPI? SwiftUI? SMTP? MariaDB
Falls dies wie ein geheimer Code klingt, keine Sorge — es sind nur die Werkzeuge, die das System zum Laufen bringen. Denken Sie an den Anmeldeprozess von Splync wie an ein Kundendienstzentrum, das die Identität einer Person überprüft. „Darf ich Ihren Namen und Ihre E-Mail-Adresse erfahren?“ fragt SwiftUI, die freundliche Mitarbeiterin am Empfang. Sie geben ihr Ihre Details, und sie sagt: „Könnten Sie bitte einen Moment warten?“ Sie leitet diese sofort an FastAPI weiter, das interne Telefonsystem des Büros. FastAPI verbindet sie mit Python, dem Spezialisten im Hinterzimmer, der für die Verifizierung zuständig ist. Python fragt bei MariaDB, der Kundendatenbank, nach, um Ihre Informationen sicher zu speichern — mit dem Status „unverifiziert“. Dann bittet Python SMTP, den externen Boten, Ihnen eine Bestätigungs-E-Mail mit einem sicheren Link zu senden. Wenn Sie auf den Link klicken, überprüft Python, ob er gültig ist und aktualisiert Ihren Status in MariaDB zu „verifiziert“. Schließlich informiert FastAPI die Mitarbeiterin, dass Ihre Identität bestätigt wurde und Ihr Konto nun aktiv ist. Zusammen machen diese Teile den Verifizierungsprozess von Splync sowohl menschlich als auch sicher.
Der nächste Schritt auf Splyncs Sicherheitsweg
E-Mail-Verifizierung mag eine kleine Funktion sein, aber sie verändert das Vertrauen grundlegend. Sie markiert den Moment, in dem Splync sich von einem persönlichen Projekt unter Freunden zu einer öffentlichen App entwickelt, der jeder mit Vertrauen beitreten kann. Das Senden eines Bestätigungslinks über SMTP fühlt sich sogar wie der erste Handschlag von Splync mit einem neuen Nutzer an. Hinter den Kulissen legt diese Funktion das Fundament für zukünftige Verbesserungen — Passwortzurücksetzungen, Multi-Faktor-Authentifizierung und Kontowiederherstellung. Jede Sicherheitsschicht baut auf der vorherigen auf. Mit der E-Mail-Verifizierung macht Splync v1.1 einen bedeutenden Schritt nach vorne — und macht das Management geteilter Ausgaben nicht nur praktisch, sondern wirklich vertrauenswürdig.