🔐 2FA Code Input Page

📅 Tarih: 2025-11-23 | 🎯 Tenant: ixtif.com / muzibu.com | 📱 Sayfa: İki Faktörlü Doğrulama

📱 Light Mode Görünüm

🔐

Doğrulama Kodu

Telefonunuza gönderilen 6 haneli kodu girin

Kod gönderildi: +90 *** *** 45 67
⏱️ Kod geçerliliği: 4:32
Yeni kod gönder (2:15 sonra)
← Giriş sayfasına dön

🌙 Dark Mode Görünüm

🔐

Doğrulama Kodu

Telefonunuza gönderilen 6 haneli kodu girin

Kod gönderildi: +90 *** *** 45 67
⏱️ Kod geçerliliği: 4:58
← Giriş sayfasına dön

⚙️ Teknik Özellikler

🎨 UI/UX Özellikleri

  • 6 haneli ayrı input kutuları
  • Otomatik focus geçişi
  • Backspace ile geri gitme
  • Paste desteği (tüm kodu yapıştır)
  • Sayısal klavye (mobil)
  • Kalan süre countdown
  • Yeniden gönder cooldown

🔒 Güvenlik

  • Rate limiting (3 deneme/5dk)
  • Kod timeout (5 dakika)
  • IP bazlı takip
  • Brute-force koruması
  • Session binding
  • Maskelenmiş telefon

📱 SMS Entegrasyonu

  • NetGSM / İletimerkezi
  • Tenant bazlı SMS sağlayıcı
  • SMS template desteği
  • Fallback email seçeneği
  • Yeniden gönderme limiti

💻 Tech Stack

  • Alpine.js (client-side)
  • Tailwind CSS
  • Laravel Session
  • Cache (Redis/File)
  • TwoFactorService

🔄 Kullanıcı Akışı

1

Login Attempt

Kullanıcı email/şifre ile giriş yapar, 2FA aktifse bu sayfaya yönlendirilir

2

SMS Gönderimi

TwoFactorService kodu üretir, Cache'e kaydeder, SMS sağlayıcıya gönderir

3

Kod Girişi

Kullanıcı 6 haneli kodu girer, her digit otomatik sonrakine geçer

4

Doğrulama

TwoFactorService.verifyCode() çağrılır, başarılıysa Auth::login() yapılır

5

Yönlendirme

Başarılı giriş sonrası intended URL'e veya dashboard'a yönlendirilir

📝 Uygulama Notları

📂 Dosya Konumları

  • View: resources/views/auth/two-factor.blade.php
  • Controller: App\Http\Controllers\Auth\TwoFactorController
  • Service: App\Services\Auth\TwoFactorService
  • Route: routes/web.php (auth middleware)

🌐 Settings Bağlantısı

  • auth_security_2fa_enabled
  • auth_security_2fa_expiry (dakika)
  • sms_provider (netgsm/iletimerkezi)
  • sms_api_key, sms_api_secret