Biometric Auth Widget
Component Detail
Description
Presents the native biometric prompt (Face ID, Touch ID, or Android fingerprint/face) using Flutter's local_auth package on app resume or session lock. Returns a simple pass/fail result to the token exchange service; all biometric matching runs on-device by the platform authenticator so no biometric data leaves the device. Renders accessible touch targets and screen-reader labels per WCAG 2.2 AA.
biometric-auth-widget
Sources & reasoning
A dedicated UI widget isolates platform-specific biometric dialog presentation from token exchange logic, making fallback to credential login easy to trigger from the widget layer and keeping local_auth calls contained in one place.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Invoke local_auth to trigger the platform biometric dialog
- Check biometric hardware availability and enrollment state at startup
- Surface a fallback credential-login link when biometric fails or is unavailable
- Emit pass/fail result to Biometric Token Exchange Service
- Hide the widget entirely on devices with no enrolled biometrics
Interfaces
authenticate() -> Future<bool>
isBiometricAvailable() -> Future<bool>
onFallbackRequested callback