OutOfBandRegistration class abstract

The operation handling an out-of-band registration. This is the object returned by the SDK, when a OutOfBandPayload was processed and the OutOfBandPayload corresponds to a registration operation.

Usage example:

  class AuthenticatorSelectorImpl implements AuthenticatorSelector {
    @override
    void selectAuthenticator(
      AuthenticatorSelectionContext context,
      AuthenticatorSelectionHandler handler,
    ) {
      handler.aaid(aaid);
    }
  }

  class PinEnrollerImpl implements PinEnroller {
    @override
    void enrollPin(
      PinEnrollmentContext context,
      PinEnrollmentHandler handler,
    ) {
      handler.pin(pin);
    }
  }

  class PasswordEnrollerImpl implements PasswordEnroller {
    @override
    void enrollPassword(
      PasswordEnrollmentContext context,
      PasswordEnrollmentHandler handler,
    ) {
      handler.password(password);
    }
  }

  class BiometricUserVerifierImpl implements BiometricUserVerifier {
    @override
    void verifyBiometric(
      BiometricUserVerificationContext context,
      BiometricUserVerificationHandler handler,
    ) {
      handler.verifyBiometric();
    }
  }

  [...]
  Future<void> registerWithOutOfBand({
    required MobileAuthenticationClient client,
    required OutOfBandPayload payload,
    required DeviceInformation deviceInformation,
  }) async {
    await client.operations.outOfBandOperation
      .payload(payload)
      .onRegistration((registration) {
        registration
          .deviceInformation(deviceInformation)
          .authenticatorSelector(AuthenticatorSelectorImpl(...))
          .pinEnroller(PinEnrollerImpl(...))
          .passwordEnroller(PasswordEnrollerImpl(...))
          .biometricUserVerifier(BiometricUserVerifierImpl(...))
          .onSuccess(() {
            // handle success
          })
          .onError((error) {
            // handle error
          })
      })
      .onAuthentication((authentication) {
        // handle authentication
      })
      .onError((error) {
        // handle out-of-band error
      })
      .execute();
  }
  [...]

The biometric, device passcode and fingerprint authenticators are enrolled at the OS level. That is why, if one of them must be registered, the user must authenticate through BiometricUserVerifier, DevicePasscodeUserVerifier or FingerprintUserVerifier. In the case of the PIN and password, the credentials are enrolled during registration, so no authentication is needed.

See OutOfBandOperation.onRegistration

Inheritance

Constructors

OutOfBandRegistration()

Properties

hashCode int
The hash code for this object.
no setterinherited
operationId String
The identifier of the encapsulating operation.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

allowClass2AndroidSensors(bool allowClass2AndroidSensors) OutOfBandRegistration
Specifies whether Class 2 (formerly weak) biometric sensors are allowed if the biometric authenticator is selected.
allowDevicePasscodeAsFallback(bool allowDevicePasscodeAsFallback) OutOfBandRegistration
Specifies whether the OS device passcode can be used as fallback during biometric authentication.
allowStrongBox(bool allowStrongBox) OutOfBandRegistration
Specifies whether the SDK should try to store the FIDO UAF keys in StrongBox.
authenticatorSelector(AuthenticatorSelector authenticatorSelector) OutOfBandRegistration
Specifies the object that will take care of the selection of the authenticator to be used.
biometricUserVerifier(BiometricUserVerifier biometricUserVerifier) OutOfBandRegistration
Specifies the object that will take care of the biometric user verification.
deviceInformation(DeviceInformation deviceInformation) OutOfBandRegistration
Specifies the device information to be used.
devicePasscodeUserVerifier(DevicePasscodeUserVerifier devicePasscodeUserVerifier) OutOfBandRegistration
Specifies the object that will take care of the device passcode user verification.
execute() Future<void>
Executes the operation asynchronously.
inherited
fingerprintUserVerifier(FingerprintUserVerifier fingerprintUserVerifier) OutOfBandRegistration
Specifies the object that will take care of the fingerprint user verification.
invalidateOnNewOsBiometrics(bool invalidateOnNewOsBiometrics) OutOfBandRegistration
Specifies whether the authenticator must be invalidated if the user changes biometric credentials in the OS settings.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onError(dynamic onError(OperationError)) OutOfBandRegistration
Specifies the object that will be invoked if the registration failed.
onSuccess(Function onSuccess) OutOfBandRegistration
Specifies the object that will be invoked if the registration completed successfully.
passwordEnroller(PasswordEnroller passwordEnroller) OutOfBandRegistration
Specifies the object that will take care of enrolling the password of the authenticator.
pinEnroller(PinEnroller pinEnroller) OutOfBandRegistration
Specifies the object that will take care of enrolling the PIN of the authenticator.
requestHeaders(RequestHeaders requestHeaders) OutOfBandRegistration
Specifies the additional request headers that must be included in the HTTP requests sent by the operation.
inherited
setOperationId(String operationId) → void
Sets the identifier of the encapsulating operation.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited