biometric_auth_plugin 0.0.3
biometric_auth_plugin: ^0.0.3 copied to clipboard
description: Un plugin de autenticación biométrica para Flutter compatible con Android e iOS.
Biometric Auth Plugin #
Descripción #
Este es un plugin de Flutter para la autenticación biométrica en dispositivos Android e iOS. Permite a las aplicaciones utilizar la autenticación con huella digital, reconocimiento facial o credenciales del dispositivo (PIN, patrón, contraseña) para mejorar la seguridad.
Características #
- Verifica si la autenticación biométrica está disponible en el dispositivo.
- Soporta Face ID y Touch ID en iOS.
- Soporta Huella digital, Face Unlock e Iris Scan en Android.
- Detecta si no hay datos biométricos registrados.
- Permite manejar errores detallados en caso de fallos de autenticación.
- Verifica cambios en los datos biométricos (por ejemplo, eliminación de huellas o cambios en Face ID).
- Permite autenticación en segundo plano a intervalos regulares.
- Obtiene el nivel de seguridad de la biometría del dispositivo.
- Compatible con Android 6.0 (API 23) en adelante y iOS 11 en adelante.
Instalación #
Agrega la dependencia en tu pubspec.yaml:
biometric_auth_plugin:
path: ../biometric_auth_plugin # Modifica según tu estructura
Luego, ejecuta:
flutter pub get
Configuración en Android #
Agregar Permisos en AndroidManifest.xml #
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
Agregar Dependencias en android/app/build.gradle #
dependencies {
implementation 'androidx.biometric:biometric:1.1.0'
}
Configuración en iOS #
Edita el archivo ios/Runner/Info.plist y agrega la clave para Face ID:
<key>NSFaceIDUsageDescription</key>
<string>Se requiere Face ID para autenticación biométrica en la app.</string>
Uso #
Verificar si la biometría está disponible #
bool isAvailable = await BiometricAuthPlugin.isBiometricAvailable();
print("Biometría disponible: \$isAvailable");
Obtener los tipos de biometría disponibles #
List<String> biometricTypes = await BiometricAuthPlugin.getAvailableBiometricTypes();
print("Tipos biométricos disponibles: \$biometricTypes");
Iniciar autenticación biométrica #
bool success = await BiometricAuthPlugin.authenticate();
if (success) {
print("Autenticación exitosa");
} else {
print("Error en la autenticación");
}
Detectar cambios en la biometría #
bool biometricChanged = await BiometricAuthPlugin.checkBiometricChanges();
if (biometricChanged) {
print("Los datos biométricos han cambiado.");
} else {
print("No se detectaron cambios en la biometría.");
}
Habilitar autenticación en segundo plano #
await BiometricAuthPlugin.enableBackgroundAuthentication();
Obtener el nivel de seguridad de la biometría #
String biometricStrength = await BiometricAuthPlugin.getBiometricStrengthLevel();
print("Nivel de seguridad biométrica: \$biometricStrength");
Manejo de Errores #
El plugin devuelve errores en caso de fallos de autenticación:
BIOMETRIC_ERROR: No hay hardware biométrico disponible.AUTH_FAILED: Datos biométricos no reconocidos.AUTH_ERROR: Otro error desconocido.TOO_MANY_ATTEMPTS: Se superó el límite de intentos fallidos.
Compatibilidad #
| Plataforma | Versión mínima |
|---|---|
| Android | 6.0 (API 23) |
| iOS | 11.0 |
Contribuir #
Si deseas mejorar este plugin, ¡envía un pull request! 🚀
Licencia #
Este proyecto está bajo la licencia MIT.