Proje: Okul B2B App · Hub: Okul B2B App — Domain

Biyometrik Güvenlik ve App Lock

Özellik

Kullanıcılar profil ayarlarından “Biyometrik Kilit” özelliğini aktif edebilir. Uygulama background’a alındıktan sonra tekrar açıldığında Face ID / parmak izi ile doğrulama istenir.

BiometricAuth (utils/BiometricAuth.ts)

expo-local-authentication üstünde soyutlama:

// Cihaz kapasiteleri
await biometricAuth.checkCapabilities()
// → { isAvailable, isEnrolled, supportedTypes, securityLevel }
 
// Doğrulama yap
await biometricAuth.authenticate(config)
// → { success: boolean, error?, biometricType? }

AppLockScreen

  • Background’a alındığında lock timer başlar
  • Active durumuna geçilince lock timer iptal edilir
  • 3 başarısız deneme sonrası geçici kilitleme
  • SECURE_KEYS.BIOMETRIC_ENABLED / SECURE_KEYS.APP_LOCK_ENABLED ile durum saklanır

Platform İzinleri

iOS app.config.ts:

NSFaceIDUsageDescription: "Hesabınızın güvenliği için Face ID..."

Android:

android.permission.USE_BIOMETRIC
android.permission.USE_FINGERPRINT