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şenGörevi
Stratum CoreKimlik doğrulama mantığını yöneten ana motor.
PostgreSQLKullanıcı verilerinin ve oturum bilgilerinin saklandığı güvenli liman.
DashboardGeliştiricinin kullanıcıları ve ayarları yönettiği arayüz.
SDKUygulamanı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.

  1. Depoyu Klonlayın:

    Bash:
    git clone https://github.com/stratumauth/app.git
    cd app
    
  2. Çevresel Değişkenleri Ayarlayın:

    .env.example dosyasını .env olarak kopyalayın ve veritabanı bilgilerinizi girin.

  3. 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

ÖzellikStratumClerk / Auth0Firebase Auth
FiyatÜcretsiz (Self-hosted)Kullanıcı başına ücretKullanım limitli
Veri Kontrolü%100 SizdeServis SağlayıcıdaGoogle'da
ÖzelleştirmeTam EsneklikSı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:

  1. Android’de F-Droid uygulamasını yükle.

  2. IzzyOnDroid deposunu ekle.

  3. 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

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu