Interface Authenticator


public interface Authenticator
An object describing an authenticator.
  • Field Details

    • PIN_AUTHENTICATOR_AAID

      static final String PIN_AUTHENTICATOR_AAID
      The AAID of the PIN authenticator. The PIN authenticator is managed by the SDK and is not the device passcode (see DEVICE_PASSCODE_AUTHENTICATOR_AAID) defined in the operating system settings.
      See Also:
    • FINGERPRINT_AUTHENTICATOR_AAID

      static final String FINGERPRINT_AUTHENTICATOR_AAID
      The AAID of the Fingerprint authenticator.
      See Also:
    • BIOMETRIC_AUTHENTICATOR_AAID

      static final String BIOMETRIC_AUTHENTICATOR_AAID
      The AAID of the Biometric authenticator.
      See Also:
    • DEVICE_PASSCODE_AUTHENTICATOR_AAID

      static final String DEVICE_PASSCODE_AUTHENTICATOR_AAID
      The AAID of the Device Passcode (PIN, password or gesture) authenticator. This is the passcode used to lock your device and is defined in the operating system settings.
      See Also:
  • Method Details

    • aaid

      String aaid()
      The "Authenticator Attestation ID" (AAID), which identifies the type and batch of the authenticator.

      The AAIDs of the authenticators supported by the SDK are:

      • F1D0#0001: PIN authenticator.
      • F1D0#0002: Fingerprint authenticator.
      • F1D0#0003: Biometric authenticator.
      • F1D0#0004: Device passcode authenticator.
      Returns:
      the AAID associated with the authenticator
    • registration

      RegistrationInfo registration()
      Returns the object containing the registration information of this Authenticator
      Returns:
      the registration information
    • userEnrollment

      UserEnrollment userEnrollment()
      Returns the user enrollment information. If this is an OS based authenticator (such as the fingerprint authenticator) the user is enrolled when fingerprints are defined at the operating system level.

      If the authenticator is managed at the SDK level (PIN), the credentials are defined during registration using a PinEnroller with Registration.pinEnroller(PinEnroller) or OutOfBandRegistration.pinEnroller(PinEnroller).

      If the user is not enrolled in a system managed authenticator (fingerprint, biometric), the authenticator cannot be used to do a registration or an authentication.

      If an authenticator that is not enrolled is provided through AuthenticatorSelector for registration or authentication operations, a OperationError or an OperationError will be returned as a result of the operation.

      Returns:
      the object with the user enrollment information
    • isSupportedByHardware

      boolean isSupportedByHardware()
      Returns whether the device has hardware supporting this authenticator or not. For example if this is a fingerprint authenticator and the mobile device where the SDK is running does not have a fingerprint sensor, this method will return false.

      If an authenticator that is not supported is provided through AuthenticatorSelector for registration or authentication operations, a OperationError or an OperationError will be returned as a result of the operation.

      Known limitation: in the case of an authenticator not supported by the Android API level (see isSupportedByOs()), this method will return false even when the biometric hardware exists.

      Returns:
      true if the device where the SDK is running has hardware supporting this authenticator and false otherwise.
    • isSupportedByOs

      boolean isSupportedByOs()
      Returns whether the Operating System supports this authenticator or not. For example if this is a biometric authenticator and the Android API level in the device does not support the required interfaces by the SDK, this method will return false.

      If an authenticator that is not supported is provided through AuthenticatorSelector for registration or authentication operations, a OperationError or an OperationError will be returned as a result of the operation.

      Returns:
      true if the Android API level in the device where the SDK is running supports this authenticator and false otherwise.