Splync v1.0'dan Splync v1.1'e
Splync'e kaydolurken e-posta adresinizi ve şifrenizi girmeniz istenir. Önceki makalelerde tanıttığım gibi, Splync v1.0 zaten temel güvenlik önlemlerini içeriyordu. Veri aktarımınız HTTPS ile korunuyordu. Sunucumuz, geliştiriciden başka kimse erişemeyecek şekilde SSH ile güvence altına alındı. Şifreniz asla düz metin olarak saklanmadı, veritabanında kodlanamaz bir şekilde hashlenmişti. Ancak, v1.0'ın gizli yanı, hesap oluşturma sürecinde e-posta doğrulamasının olmamasıydı. Splync, bir MVP (Minimum Viable Product) olarak bu özellik olmadan piyasaya sürüldü çünkü uygulama henüz sadece arkadaşlarımın bildiği bir aşamadaydı. v1.0'da uygulama sadece girilen e-postanın harf dizileri arasında bir “@” içerip içermediğini ve mevcut hesaplar arasında benzersiz olup olmadığını kontrol ediyordu.
E-posta Doğrulaması Olmazsa Ne Olur
Bir uygulama, kullanıcıların kimliklerini doğrulamadan hesap oluşturmalarına izin veriyorsa, birinin kendi hesabını oluşturmak için başka birinin e-posta adresini kullanması kolayca hayal edilebilir. Bu gerçekten de olabilecek bir durumdur. Bu, verilerinizin sızdırılacağı anlamına gelmese de, e-posta adresiniz zaten kullanılmaktaysa, kendi e-posta adresinizle kayıt olamayacağınız anlamına gelir. Ayrıca, tamamen kurgusal bir e-posta adresi kullanılarak bir hesap oluşturulabilir. İlk bakışta ciddi görünmeyebilir, ancak geliştirici daha sonra o kullanıcıya fatura kesmeye veya iletişime geçmeye çalıştığında bir felakete dönüşebilir. O kişinin kim olduğunu bile bilmezdim! Bu yüzden, e-posta doğrulama Splync için bir sonraki adımdı.
E-posta Doğrulaması Nasıl Çalışır
Splync v1.1'de, yeni bir kullanıcı kaydolduğunda, uygulama otomatik olarak girdikleri adrese bir e-posta gönderir. Bu e-posta, benzersiz, otomatik üretilen bir doğrulama bağlantısı içerir. Kullanıcı bu bağlantıya tıklayarak gerçekten o e-posta hesabına erişimi olduğunu doğrular. Doğrulama tamamlandığında, sunucu kullanıcının hesabını etkinleştirir ve onu veritabanına geçerli, doğrulanmış bir kullanıcı olarak kaydeder. Tanıdık geliyor, değil mi? Bu süreç, Splync'teki her hesabın gerçek, ulaşılabilir bir kişiye ait olmasını sağlar — güvenilir bir topluluk oluşturma yolunda küçük ama hayati bir adım. Bu akışın teknik açıdan nasıl uygulandığını daha yakından inceleyelim.
E-posta Doğrulamasının Teknik Uygulaması
Splync'in arka ucu Python/FastAPI kullanır ve mobil uygulama SwiftUI ile geliştirilmiştir. Uygulama sadece kullanıcı arayüzünü yönetir, doğrulama mantığı ve hassas kimlik bilgileri güvenli bir şekilde sunucuda kalır. v1.1'de, “doğrulanmamış kullanıcı” ile “doğrulanmış kullanıcı” arasında standart bir e-posta doğrulama adımı ekledik. Yeni bir kullanıcı kaydolduğunda, uygulama girilen verileri sunucuya gönderir. Sunucunun bir MariaDB veritabanı vardır. Kullanıcıyı veritabanına doğrulanmamış olarak kaydeder. Şifre hashlenir ve kaydedilir, ancak hesap henüz aktif değildir. O anda, sunucu bir bitiş süresi olan benzersiz bir doğrulama belirteci de oluşturur. Ardından, bir SMTP (Basit Posta Aktarım Protokolü) sunucusu kullanarak, sunucu güvenli, tek kullanımlık bir bağlantı içeren bir doğrulama e-postası gönderir. Kullanıcı bağlantıyı açtığında, sunucu belirtecin geçerli ve süresi dolmamış olduğunu kontrol eder. Doğrulama tamamlandığında, hesap aktif hale gelir ve kullanıcı uygulamadan normal şekilde giriş yapabilir. Bu, kimlik doğrulamayı güvenli ve hafif tutar.
Python? FastAPI? SwiftUI? SMTP? MariaDB
Bunlar birer şifre gibi geliyorsa endişelenmeyin — bunlar sadece sistemin çalışmasını sağlayan araçlar. Splync'in kayıt akışını, bir müşteri destek merkezinin birinin kimliğini doğrulaması gibi düşünün. "Adınızı ve e-posta adresinizi alabilir miyim?" diye sorar, ön bürodaki dost canlısı operatör olan SwiftUI. Detaylarınızı ona iletirsiniz ve o, "Bir dakika bekler misiniz?" der. Hemen onları, ofisin dahili telefon sistemi olan FastAPI'ye iletir. FastAPI, onu doğrulamadan sorumlu arka ofis uzmanı Python'a bağlar. Python, müşteri veritabanı MariaDB ile kontrol ederek bilgilerinizi güvende tutar — durumunuzu “doğrulanmamış” olarak işaretler. Ardından Python, harici haberci SMTP'ye, güvenli bir bağlantı içeren bir onay e-postası göndermesini ister. Bağlantıya tıkladığınızda, Python bağlantının geçerli olduğunu doğrular ve MariaDB'deki kaydınızı “doğrulanmış” olarak günceller. Son olarak, FastAPI, operatöre kimliğinizin doğrulandığını bildirir ve hesabınız artık aktiftir. Bu parçalar birlikte, Splync'in doğrulama sürecini hem insan benzeri hem de güvenli hale getirir.
Splync'in Güvenlik Yolculuğundaki Sonraki Adım
E-posta doğrulama küçük bir özellik gibi görünebilir ama güvenle ilgili her şeyi değiştiriyor. Splync'in arkadaşlar arasında bir kişisel projeden, herkesin güvenle katılabileceği bir halka açık uygulamaya dönüştüğü anı işaret ediyor. SMTP üzerinden bir doğrulama bağlantısı göndermek, Splync'in yeni bir kullanıcıyla ilk el sıkışması gibi hissettiriyor. Perde arkasında, bu özellik gelecekteki iyileştirmeler için zemin hazırlıyor — şifre sıfırlama, çok faktörlü kimlik doğrulama ve hesap kurtarma. Güvenliğin her katmanı, öncekine dayanır. E-posta doğrulama ile Splync v1.1 anlamlı bir adım atıyor — ortak harcama yönetimini sadece pratik değil, gerçekten güvenilir hale getiriyor.