Embedding of an Authenticator
  • 03 Dec 2024
  • 2 Minutes to read
  • Dark
    Light
  • PDF

Embedding of an Authenticator

  • Dark
    Light
  • PDF

Article summary

AndroidiOS

Embedding of an authenticator

A mobile application can embed a FIDO ASM in addition to a local FIDO Client to address legacy devices without FIDO capabilities.

To embed a FIDO ASM implementation into a mobile application, additional dependencies must be added to the mobile application project.

Android

Embeddable ASM libraries and dependencies will be delivered by an authenticator vendor as AAR libraries packaged in Maven repositories for Android Studio. The instructions below explain how to embed FIDO ASMs into your mobile application.

Embedding an Authenticator—Required Descriptors and Libraries lists the descriptor class name and ASM library name you must provide when you embed Presence, PIN, Password, and Native Biometric Authentication.

Embedding an Authenticator—Required Descriptors and Libraries

Descriptor Class Name

ASM Library Name

Presence authenticator

com.vasco.fido.uaf.asm.presence.PresenceASMDescriptor

FIDOUAFPresenceASM.aar

PIN authenticator

com.vasco.fido.uaf.asm.userinput.PinASMDescriptor

FIDOUAFUserInputASM.aar

Password authenticator

com.vasco.fido.uaf.asm.userinput.PasswordASMDescriptor

FIDOUAFUserInputASM.aar

Native Biometric Authentication authenticator

com.vasco.fido.uaf.asm.biometric.NativeBiometric


AuthenticationASMDescriptor

FIDOUAFNativeBiometric


AuthenticationASM.aar

Add a descriptor

To add a descriptor, create a file named asmdescriptors.json and place it in a res/raw subfolder.

For example, here is what the file would look like to embed the PIN-, Native Biometric-, and Yes/No-based modules:

{
    "descriptorclass":[
     "com.vasco.fido.uaf.asm.presence.PresenceASMDescriptor",
     "com.vasco.fido.uaf.asm.userinput.PinASMDescriptor",
     "com.vasco.fido.uaf.asm.biometric.NativeBiometricAuthenticationASMDescriptor"
  ]
}

Add activities to your manifest

Android Studio automatically merges the activities from the various AndroidManifest.xml files within library projects. All activities should therefore be declared only within individual library projects.

Add an authenticator

The steps below outline an example of how to integrate the Presence ASM.

You may see errors regarding Swift symbols when using the ASM provided by OneSpan with the Objective-C version of NokNok_app_tutorial_plus_iOS app from Nok Nok package v7.0.2. To correct the issue, add an empty Swift file to the project and when Xcode offers to create a bridging header, choose YES.

To integrate the Presence ASM with C++

  1. Include the corresponding header file:

    #import <FIDOUAFPresenceASM/FIDOPresenceASMInstanceCreator.hpp>

  2. Open the AppDelegate.m file and add the following code in: (UIApplication *)application didFinishLaunchingWithOptions method to embed an authenticator:

    asmcore::ASMFactory::addAuthenticator
    (FIDOPresenceASMInstanceCreator::createInstance());

To integrate the Presence ASM with Swift/Objective-C

  1. Include the corresponding header file:

    import FIDOUAFPresenceASM

  2. Open the AppDelegate.swift file and add the following code in application:didFinishLaunchingWithOptions method to embed an authenticator:

    // Add presence authenticator to ASM
    FIDOPresenceASM.registerPresenceAuthenticator()

iOS

Embeddable ASM components are delivered as an iOS xcframework for Xcode. The instructions below explain how to embed a sample ASM into your mobile application.

Embed an authenticator with Xcode

The embeddable authenticator is delivered as an iOS xcframework. The steps below describe how to embed the Presence ASM.To embed an authenticator on iOSIn your app, open the General properties tab.Add FIDOUAFPresenceASM.xcframework to the Linked Frameworks and Libraries section.In your app, open the Build Phases properties tab.Add FIDOUAFPresenceASMResources.bundle to the Copy Bundle Resources section.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, our interactive help assistant