Açık Kaynak Bir 2FA Çözümü Olarak Stratum
Stratum, modern uygulama geliştirme süreçlerinde kimlik doğrulama (authentication) ve kullanıcı yönetimini bir "karın ağrısı" olmaktan çıkarmayı hedefleyen, açık kaynaklı ve oldukça şık bir çözüm. Geliştiricilerin Clerk veya Auth0 gibi popüler (ancak genellikle kapalı kaynak ve pahalı) servislerin yerini doldurabilecek, kendi sunucularında barındırabileceği (self-hosted) bir alternatif arayışına yanıt veriyor.
Stratum: Modern ve Özgür Bir Kimlik Doğrulama Katmanı
Geliştiriciler için bir uygulamadaki en sıkıcı ama en kritik parça her zaman kullanıcı giriş-çıkış işlemleridir. Stratum, bu süreci "tak-çalıştır" kolaylığına indirgerken verilerinizin kontrolünü tamamen size bırakıyor.
1. Stratum Nedir?
Stratum, uygulamalarınız için hazır bir kimlik doğrulama arayüzü ve yönetim paneli sunan bir yazılımdır. Geleneksel yöntemlerde haftalar süren kullanıcı kayıt, şifre sıfırlama, iki aşamalı doğrulama (2FA) ve profil yönetimi gibi özellikleri dakikalar içinde aktif etmenizi sağlar.
Neden Stratum?
Veri Egemenliği: Verileriniz yabancı bir bulut sağlayıcısında değil, kendi veritabanınızda durur.
Açık Kaynak: Kod şeffaftır, güvenliği topluluk tarafından denetlenebilir.
Geliştirici Deneyimi: Next.js, React veya mobil uygulamalarla hızlıca entegre edilebilir.
2. Öne Çıkan Temel Özellikler
Stratum sadece bir "Giriş Yap" kutusu değildir; tam kapsamlı bir kullanıcı yönetim merkezidir:
Çoklu Giriş Yöntemleri: E-posta/Şifre, Magic Link (Sihirli Bağlantı) ve sosyal medya (Google, GitHub vb.) entegrasyonları.
Hazır UI Bileşenleri: Özelleştirilebilir, modern ve responsive (mobil uyumlu) kayıt/giriş sayfaları.
Kullanıcı Yönetimi: Admin paneli üzerinden kullanıcıları askıya alma, rollerini değiştirme veya oturumlarını sonlandırma.
Güvenlik: Modern kriptografi standartları ve dahili 2FA (İki Faktörlü Doğrulama) desteği.
3. Teknik Mimari ve Çalışma Mantığı
Stratum, genellikle uygulamanız ile veritabanınız arasında bir "katman" (stratum ismi de buradan gelir) olarak görev yapar.
| Bileşen | Görevi |
| Stratum Core | Kimlik doğrulama mantığını yöneten ana motor. |
| PostgreSQL | Kullanıcı verilerinin ve oturum bilgilerinin saklandığı güvenli liman. |
| Dashboard | Geliştiricinin kullanıcıları ve ayarları yönettiği arayüz. |
| SDK | Uygulamanızın Stratum ile konuşmasını sağlayan kütüphane. |
4. Hızlı Başlangıç (Kurulum)
Stratum'u yerel ortamınızda veya sunucunuzda ayağa kaldırmak için en pratik yol Docker kullanmaktır.
Depoyu Klonlayın:
Bash:git clone https://github.com/stratumauth/app.git cd appÇevresel Değişkenleri Ayarlayın:
.env.exampledosyasını.envolarak kopyalayın ve veritabanı bilgilerinizi girin.Docker ile Çalıştırın:
Bash:docker-compose up -d
Bu işlemden sonra Stratum, belirlediğiniz port üzerinden (genellikle 3000 veya 8080) size bir yönetim paneli sunacaktır. Buradan ilk projenizi oluşturup API anahtarlarınızı alabilirsiniz.
5. Stratum vs. Diğerleri
| Özellik | Stratum | Clerk / Auth0 | Firebase Auth |
| Fiyat | Ücretsiz (Self-hosted) | Kullanıcı başına ücret | Kullanım limitli |
| Veri Kontrolü | %100 Sizde | Servis Sağlayıcıda | Google'da |
| Özelleştirme | Tam Esneklik | Sınırlı | Kısıtlı |
| Kurulum Hızı | Hızlı | Çok Hızlı | Orta |
Sonuç: Ne Zaman Kullanmalısınız?
Eğer gizliliğin ön planda olduğu bir proje geliştiriyorsanız, kullanıcı verilerinin KVKK/GDPR gibi regülasyonlar nedeniyle yerel sunucularda kalması gerekiyorsa veya SaaS maliyetlerinden kaçınmak istiyorsanız Stratum sizin için biçilmiş kaftandır.
Küçük bir not: Proje henüz çok genç olduğu için üretim (production) ortamına almadan önce dokümantasyonu dikkatlice okumanı ve güvenlik yapılandırmalarını (özellikle SMTP ve DB şifreleri) kontrol etmeni öneririm.
Stratum (Özgür Yazılım) – Eğitim Makalesi
Giriş: Stratum Nedir?
Stratum, Android için geliştirilmiş açık kaynaklı bir İki Faktörlü Kimlik Doğrulama (2FA / Two-Factor Authentication) uygulamasıdır. Bu tür uygulamalar, çevrim içi hesapların güvenliğini artırmak için parola + ek bir doğrulama kodu gerektirir. Kodlar genellikle zamana dayalı olarak üretilir ve her 30 saniyede bir değişir (TOTP standardı). (stratumauth.com)
Stratum, kullanıcı gizliliğine ve güvenliğe odaklanan bir projedir:
Kaydedilen veriler sadece cihazda saklanır, uzak sunuculara gönderilmez. (stratumauth.com)
Kodlar şifrelenmiş şekilde tutulur. (stratumauth.com)
Kaynak kodu herkes tarafından incelenebilir ve değiştirilebilir. (GitHub)
Lisansı GPL-3.0 olduğu için özgür yazılım topluluğu tarafından özgürce dağıtılabilir ve değiştirilebilir. (GitHub)
Temel Özellikler
🔐 Güvenlik ve Gizlilik
Stratum, verilerini yalnızca cihazda tutar ve internet bağlantısı gerektirmez:
Parola veya biyometrik doğrulama ile korur. (stratumauth.com)
Kod verileri güçlü şifreleme ile saklanır. (GitHub)
Bu sayede kullanıcı verileri uygulama dışına çıkmaz ve kullanıcı gizliliği maksimum düzeyde korunur. (stratumauth.com)
📱 Desteklenen Doğrulama Protokolleri
Stratum, pek çok standart 2FA protokolünü destekler:
TOTP: Zaman bazlı doğrulama (genellikle 6 haneli kod) (GitHub)
HOTP: Sayaç bazlı doğrulama (GitHub)
mOTP, Steam, Yandex gibi özel OTP türleri (GitHub)
Bu sayede Gmail, GitHub, Discord, Steam gibi pek çok modern hizmetle uyumlu çalışabilir. (GitHub)
💾 Yedekleme ve Geri Yükleme
Stratum:
Şifrelenmiş yedekleme dosyaları oluşturabilir. (GitHub)
Telefon değişimi veya kaybı durumunda geri yükleme sağlar. (GitHub)
Bu yedekleme, kendinize ait bulut depolama veya yerel depolama üzerinde güvenle tutulabilir. (GitHub)
🖼️ Kullanıcı Deneyimi
Stratum kullanıcı deneyimini artırmak için şunları sunar:
Marka ikonları ile doğrulama kodlarını daha hızlı tanıma. (GitHub)
Kategoriler ile kodları gruplama. (GitHub)
Özelleştirilebilir tema ve düzen seçenekleri. (GitHub)
Karanlık mod ve Material You tasarım dili destekleri. (stratumauth.com)
⌚ Wear OS Desteği
Stratum, Wear OS cihazlarla uyumlu bir eşlik uygulamasına sahiptir:
Doğrulama kodlarını akıllı saatten görme imkânı sağlar. (GitHub)
Telefon bağlantısı gerektiğini unutmayın. (GitHub)
Stratum Uygulamasını Kullanma / Başlarken
📥 1) Kurulum
Stratum’ın özgür versiyonu genellikle F-Droid ile kurulur:
Android’de F-Droid uygulamasını yükle.
IzzyOnDroid deposunu ekle.
Stratum’ı buradan yükle. (GitHub)
Alternatif olarak resmi GitHub’daki Releases bölümünden APK indirilebilir. (stratumauth.com)
➕ 2) Hesap Ekleme
Stratum’a hesap eklemek için:
Hizmet sağlayıcının verdiği QR kodunu tarayabilirsiniz. (GitHub)
Veya manuel olarak “secret key” bilgisi girerek ekleme yapabilirsiniz. (GitHub)
Not: Google Authenticator’dan aktarmak için QR kodu transferini kullanmak en kolay yöntemdir. (GitHub)
🔄 3) Diğer Uygulamalardan Geçiş
Stratum diğer 2FA uygulamalarından verileri içe aktarabilir:
Google Authenticator’dan QR kod transferi ile aktarım. (GitHub)
Authy gibi bazı uygulamalardan sınırlı yedekleme yöntemleriyle aktarım yapılabilir (manuel). (GitHub)
Kaynak Kod ve Geliştirme
Stratum’ın GitHub deposunda:
Kaynak kod (C# başta olmak üzere Xamarin kullanıyor). (GitHub)
Birimler: Stratum.Core, Stratum.Droid, Stratum.WearOS gibi modüller var. (GitHub)
Test ve dokümantasyon dosyaları bulunur. (GitHub)
Bu, yeni özellik geliştirmek veya hataları çözmek isteyenler için iyi bir başlangıç noktasıdır. (GitHub)
Stratum’ın Avantajları ve Dezavantajları
✅ Avantajlar
✔️ Açık kaynak ve ücretsiz (stratumauth.com)
✔️ Veri gizliliğine odaklı (stratumauth.com)
✔️ Offline çalışır (GitHub)
✔️ Wear OS desteği (GitHub)
❌ Dezavantajlar
❗ iOS desteği yok (Android odaklı) (Chrome-Stats)
❗ Otomatik cloud senkronizasyonu yok (Chrome-Stats)
❗ Bazı durumlarda QR kod tarama sorunları raporlanmış (Chrome-Stats)
Sonuç
Stratum, özgür ve güvenli bir iki faktörlü kimlik doğrulama çözümü arayanlar için güçlü bir seçenektir. Özellikle kullanıcı verilerinin gizliliği, açık kaynak topluluğu ile şeffaf geliştirme ve özelleştirilebilir yapı özellikleri sayesinde popülerlik kazanmaktadır. (stratumauth.com)
Geliştiriciler açısından ise proje:
Lisanslı ve açık kaynaklıdır. (GitHub)
Mobil uygulama güvenliği ve 2FA standartları hakkında öğrenim fırsatı sunar.
Kod katkısı ve yeni özellik ekleme konusunda açık bir topluluk ortamı sağlar.
Yorumlar