Ç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_auth

React Native için:

1npm install react-native-biometrics

Android (AndroidManifest.xml):

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
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';
2
3class BiometricAuth {
4final LocalAuthentication auth = LocalAuthentication();
5
6Future<bool> authenticate() async {
7try {
8bool isDeviceSupported = await auth.canCheckBiometrics;
9bool canUseDeviceCred = await auth.deviceSupportsBiometrics;
10
11if (!isDeviceSupported &&!canUseDeviceCred) {
12return false;
13}
14
15bool isAuthenticated = await auth.authenticate(
16localizedReason: 'Devam etmek için parmak izinizi tarayın',
17options: const AuthenticationOptions(
18stickyAuth: true,
19biometricOnly: false,
20),
21);
22
23return isAuthenticated;
24} catch (e) {
25print('Hata: $e');
26return false;
27}
28}
29}
30
31// 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';
2
3const biometrics = new RNBiometrics();
4
5const authenticate = async () => {
6try {
7const { available, biometryType } = await biometrics.isSensorAvailable();
8
9if (!available) {
10console.log('Biyometrik donanım mevcut değil');
11return false;
12}
13
14const result = await biometrics.simplePrompt({
15promptMessage: 'Devam etmek için parmak izinizi tarayın',
16fallbackPromptMessage: 'Biyometrik doğrulama başarısız'
17});
18
19return result.success;
20} catch (error) {
21console.log('Hata:', error);
22return false;
23}
24};
25
26// 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.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz