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

SecureStorage Detayları

utils/SecureStorage.ts — expo-secure-store wrapper sınıfı.

Mevcut Durum: Şifreleme TODO

// TODO: Re-enable encryption after expo-crypto is fixed
// For now, store plain text (SecureStore itself provides encryption)
const encodedValue = value; // AES şifreleme şu an devre dışı

expo-secure-store kendi başına şifreleme sağlar. Ek AES katmanı devre dışı (expo-crypto sorunu).

Metodlar

// String değer
await secureStorage.setSecureItem(key, value);
const value = await secureStorage.getSecureItem(key);
 
// JSON değer
await secureStorage.setSecureJSON(key, object);
const obj = await secureStorage.getSecureJSON<T>(key);
 
// Silme
await secureStorage.removeSecureItem(key);
await secureStorage.clearAllSecureData();  // TÜM secure data sil

requireAuth Parametresi

requireAuth = true varsayılan. ENCRYPTION_OPTIONS ile biometric auth gerektirebilir (şu an requireAuthentication: false).

iOS Kilit Ekranı Uyarısı

expo-secure-store, iOS kilit ekranında veya background’da geçici olarak erişilemez olabilir. Auth check’te bu hata logout tetiklememeli. Detaylar: auth-securestore-ios-background