Prerequisites and setup for integrating the Hanko FIDO UAF Client into your native Android or iOS app.
This guide demonstrates how to use the Hanko FIDO UAF Client and the Hanko API to perform on-device authentication.
Unlike using the Hanko Authenticator, this scenario does not involve out-of-band communication. Instead of initiating
communication on a desktop through a browser and confirming authentication in response to out-of-band
notifications on a mobile device, all communication originates from the mobile device and runs through an application
backend which passes information to the Hanko API. In this guide you will learn how to
In order to make HTTP requests the relying party backend can proxy to the Hanko API, you need
a suitable HTTP client library (e.g. OkHttp for Android, Alamofire for iOS).
Client availability across appsThe FIDO UAF Client is only available for your app. You can make it publicly available for all apps on the device.
Add the following to your AndroidManifest.xml:
Face ID usageFidoUafClientiOS uses FaceID, so you must define NSFaceIDUsageDescription in your Info.plist.Operation promptsThe FidoUafClientiOS uses default values to display kSecUseOperationPrompt when using the private keys.
The default values are localized to English and German.
To override the default values just add the keys biomentryOperationPromptReg and biomentryOperationPromptAuth to your project’s Localizable.strings.
If a request contains a transaction, the biomentryOperationPromptAuth will be overridden with the transaction content.
Operation promptsTo customize the strings which are displayed during registration and authentication, define the following strings in
your strings .xml file:
<resources> <string name="uafclient_biometric_prompt_title_reg">Register</string> <string name="uafclient_biometric_prompt_title_auth">Authenticate</string> <string name="uafclient_biometric_prompt_description_reg">Authenticate to create a key</string> <string name="uafclient_biometric_prompt_description_auth">Authenticate to use a key</string> <string name="uafclient_account_chooser_title">Choose your key</string></resources>
Operation promptsThe FidoUafClientiOS uses default values to display kSecUseOperationPrompt when using the private keys. The default
values are localized to English and German. To override the default values just add the keys biomentryOperationPromptReg
and biomentryOperationPromptAuth to your project’s Localizable.strings.Note: If a request contains a transaction the biomentryOperationPromptAuth will be overridden with the transaction
content.
You need access to the Hanko Authentication API, which is currently not publicly available. To request test access,
please contact us at info@hanko.io.