Çapraz Platform Uygulamada Biometric Authentication Entegrasyonu
Biometric authentication, kullanıcıyı parmak izi, yüz tanıma veya iris taraması ile doğrulayan bir güvenlik yöntemidir. Çapraz platform uygulamalarda hem iOS hem Android'de aynı işlevselliği sağlamak gerekir.
Flutter için:
1flutter pub add local_authReact Native için:
1npm install react-native-biometricsAndroid (AndroidManifest.xml):
1<uses-permission android:name="android.permission.USE_BIOMETRIC" />2<uses-permission android:name="android.permission.USE_FINGERPRINT" />iOS (Info.plist):
1<key>NSFaceIDUsageDescription</key>2<string>Yüz tanıma ile güvenli giriş yapabilirsiniz</string>3<key>NSBiometricsUsageDescription</key>4<string>Kimlik doğrulama için biyometrik veri kullanılacak</string>1import 'package:local_auth/local_auth.dart';23class BiometricAuth {4final LocalAuthentication auth = LocalAuthentication();56Future<bool> authenticate() async {7try {8bool isDeviceSupported = await auth.canCheckBiometrics;9bool canUseDeviceCred = await auth.deviceSupportsBiometrics;1011if (!isDeviceSupported &&!canUseDeviceCred) {12return false;13}1415bool isAuthenticated = await auth.authenticate(16localizedReason: 'Devam etmek için parmak izinizi tarayın',17options: const AuthenticationOptions(18stickyAuth: true,19biometricOnly: false,20),21);2223return isAuthenticated;24} catch (e) {25print('Hata: $e');26return false;27}28}29}3031// Kullanım:32final bio = BiometricAuth();33bool result = await bio.authenticate();34if (result) {35print('Doğrulama başarılı!');36} else {37print('Doğrulama başarısız!');38}Beklenen çıktı:
- Doğrulama başarılı: "Doğrulama başarılı!"
- Doğrulama başarısız: "Doğrulama başarısız!"
1import RNBiometrics from 'react-native-biometrics';23const biometrics = new RNBiometrics();45const authenticate = async () => {6try {7const { available, biometryType } = await biometrics.isSensorAvailable();89if (!available) {10console.log('Biyometrik donanım mevcut değil');11return false;12}1314const result = await biometrics.simplePrompt({15promptMessage: 'Devam etmek için parmak izinizi tarayın',16fallbackPromptMessage: 'Biyometrik doğrulama başarısız'17});1819return result.success;20} catch (error) {21console.log('Hata:', error);22return false;23}24};2526// Kullanım:27const success = await authenticate();28if (success) {29console.log('Doğrulama başarılı!');30}Biometric doğrulama sırasında şu hatalar oluşabilir:
- Cihaz desteklemiyorsa: Alternatif giriş yöntemi sun
- Parmak izi eşleşmezse: Kullanıcıya yeniden deneme hakkı ver
- İptal edildiyse: Graceful şekilde işlemi sonlandır
Biometric authentication, çapraz platform uygulamalarda güvenlik ve kullanıcı deneyimini artırır. `local_auth` (Flutter) ve `react-native-biometrics` (React Native) ile her iki platformda aynı işlevselliği sağlayabilirsin.
0 yorum