Proje: OkulUp · Hub: OkulUp — Domain

Güvenlik ve Auth Özellikleri

Biyometrik Kimlik Doğrulama

expo-local-authentication — Face ID (iOS) veya Fingerprint (Android).

isBiometricAvailable()  → hardware + enrollment kontrolü
getBiometricType()      → 'face' | 'fingerprint' | null
authenticateWithBiometric() → iOS Face ID / Android parmak izi
setBiometricEnabled(bool)   → AsyncStorage'a tercih kaydet
isBiometricEnabled()        → AsyncStorage'dan oku

promptMessage: 'Kimliginizi dogrulayin' — Türkçe prompt

iOS’ta NSFaceIDUsageDescription infoPlist’te tanımlı.

Apple Sign In

expo-apple-authentication kurulu. app.json’da ios.usesAppleSignIn: true.

Google OAuth

expo-auth-session + expo-web-browser — PKCE flow.

Social Auth API

POST /api/auth/social{ provider: 'google'|'apple', token, device_name, name? } is_new_user: boolean response’da var.

Account Management

  • Şifre değiştirme: POST /api/change-password
  • Hesap silme: DELETE /api/account
  • Token yenileme: POST /api/auth/refresh-token

KVKK/Gizlilik Onayı

app/(auth)/consent.tsx — yeni kullanıcılara gösterilen onay ekranı. consentSlice ile onay durumu persist ediliyor.

Formatters

src/utils/formatters.ts — Türkçe format:

  • formatDate(date, 'short'|'long'|'time'|'datetime'|'relative')tr-TR locale