Hello everyone,
I’m working on a mobile app built with Flutter and currently using Keycloak as the identity provider. I would like to integrate biometric authentication (fingerprint/FaceID) directly in my mobile app.
My main question is:
-
Does Keycloak provide any ready-to-use API for mobile apps to exchange biometric authentication results for Access Token and Refresh Token?
-
Or is it mandatory to use Keycloak’s built-in login UI (via WebAuthn / Passkeys / Passwordless) in order to perform authentication?
-
Ideally, I just want to use the biometric authentication UI provided from mobile app and then obtain the tokens from Keycloak without showing Keycloak’s web login screen. Is this possible?
I have already checked the Passkey and Passwordless with WebAuthn ( Passwordless Authentication with WebAuthn on Keycloak | Cloud-IAM | DOCS ) feature in Keycloak. It looks promising, but from what I can see, it requires going through the Keycloak login UI rather than providing a direct API that a mobile app can call.
So my questions boil down to:
-
Can Keycloak support a pure API-based flow for biometric authentication?
-
If not, is there any recommended approach to integrate Flutter biometric authentication with Keycloak token issuance (Access & Refresh)?
Thanks in advance for any clarification or guidance!