Biometrics
Bifrost Technology
NativePHP^3.0iOS18.2+Android26+
Biometric authentication for NativePHP Mobile — Face ID / Touch ID on iOS; fingerprint and facial unlock on Android — with a system passcode fallback.
Features
- Face ID and Touch ID support on iOS
- Fingerprint and facial unlock on Android
- System authentication (passcode / PIN) fallback
- Availability checking before prompting
- PHP/Livewire/Blade and JavaScript/Vue/React/Inertia support
- Event-driven authentication result callbacks
Installation
Requires Composer credentials for the NativePHP plugin repository.
composer config repositories.nativephp-plugins composer https://plugins.nativephp.com
composer config http-basic.plugins.nativephp.com your@email.com your-license-key
php artisan vendor:publish --tag=nativephp-plugins-provider
composer require nativephp/mobile-biometrics
php artisan native:plugin:register nativephp/mobile-biometrics
PHP Usage
use NativePHP\MobileBiometrics\Facades\Biometrics;
// Check availability
if (Biometrics::isAvailable()) {
Biometrics::authenticate(
reason: 'Confirm your identity to continue.',
allowDeviceCredential: true,
);
}
Livewire Usage
use Native\Mobile\Attributes\OnNative;
use NativePHP\MobileBiometrics\Events\BiometricCompleted;
#[OnNative(BiometricCompleted::class)]
public function onBiometricCompleted(bool $success, ?string $error): void
{
if ($success) {
$this->dispatch('authenticated');
}
}
JavaScript Usage
import { biometrics } from '@nativephp/mobile-biometrics';
import { on } from '@nativephp/native';
on('BiometricCompleted', ({ success, error }) => {
console.log(success ? 'Authenticated' : `Failed: ${error}`);
});
await biometrics.authenticate({ reason: 'Confirm your identity.' });
Compatibility
| Platform | Minimum Version |
|---|---|
| NativePHP | ^3.0 |
| iOS | 18.2+ |
| Android | API 26+ |
Events
BiometricCompleted
Fires when the authentication dialog resolves.
| Field | Type | Description |
|---|---|---|
success |
bool |
true if authenticated |
error |
string|null |
Error reason if failed |