Interface BiometricUserVerifier


public interface BiometricUserVerifier
The object in charge of interacting with the user to do biometric authentication.

All the methods of the objects implementing this interface will be invoked in the main/UI thread.

The SDK does not provide implementations of this interface. The implementation must be done by the user of the SDK if the biometric authenticator is required.

See Also:
  • Method Details

    • verifyBiometric

      void verifyBiometric(BiometricUserVerificationContext context, BiometricUserVerificationHandler handler)
      The user verification interaction. In the case of the registration the user must provide credentials as required by the FIDO UAF protocol. In the case of the authentication, this is invoked for the user to provide credentials.

      In the case of the biometric authenticator, since the UI management is delegated to the operating system, the verifyUser method will not be invoked when a recoverable error occurs: the operating system will inform the end-user of the problem that happened. This implies that verifyUser is only invoked once when using the biometric authenticator.

      Basic implementation layout:

      
       [...]
      
           @Override
           public void verifyBiometric(BiometricUserVerificationContext context, BiometricUserVerificationHandler handler) {
               // Trigger the biometric authentication process. The handler can be used to cancel listening
               // for credentials programmatically
               BiometricPromptOptions promptOptions = BiometricPromptOptions.builder()
                   .title("Authenticate")
                   .cancelButtonText("Cancel")
                   .build();
               OsAuthenticationListenHandler osAuthenticationListenHandler =
                   handler.listenForOsCredentials(promptOptions);
                   // The Operating System will display the biometric prompt.
           }
       
      Parameters:
      context - the object providing the information required for the verification process
      handler - the object that must be notified with the result of the interaction
    • onValidCredentialsProvided

      void onValidCredentialsProvided()
      This method is invoked when either valid biometric credentials were provided and verified locally. The method is invoked after verifyBiometric(BiometricUserVerificationContext, BiometricUserVerificationHandler) has been invoked and BiometricUserVerificationHandler.listenForOsCredentials(BiometricPromptOptions) is invoked in the BiometricUserVerificationHandler of verifyUser and the end-user provides valid biometric credentials.

      This method can be used for instance to display some progress message indicating that the operation is ongoing.

      Note that invoking this method does not mean that the UAF operation completed successfully (this is notified through methods such as Authentication.onSuccess(Consumer) or Registration.onSuccess(Runnable) once the FIDO UAF server validates the request generated with the credentials).