mob_biometric

Biometric authentication (Face ID / Touch ID / fingerprint) for apps built with MobMob.Biometric, extracted from mob core as a plugin.

No permission dialog: the OS biometric prompt is the auth flow, using the device's existing enrollment.

Installation

# mix.exs
{:mob_biometric, "~> 0.1"}
# mob.exs
config :mob, :plugins, [:mob_biometric]

The plugin manifest merges NSFaceIDUsageDescription into the host Info.plist at build time (Face ID requires it; Touch ID doesn't) and pulls in androidx.biometric:biometric:1.1.0 on Android. No manifest permission needed from the host.

Usage

socket = MobBiometric.authenticate(socket, reason: "Confirm payment")
def handle_info({:biometric, :success}, socket), do: ...
def handle_info({:biometric, :failure}, socket), do: ...
def handle_info({:biometric, :not_available}, socket), do: ...

:not_available means the device has no biometric hardware or the user has not enrolled any biometrics.

Limits

License

MIT