OutOfBandAuthentication class abstract

The operation handling an out-of-band authentication.

This is the object returned by the SDK, when an OutOfBandPayload was processed and the OutOfBandPayload corresponds to an authentication operation.

Usage example:

  class AccountSelectorImpl implements AccountSelector {
    @override
    void selectAccount(
      AccountSelectionContext context,
      AccountSelectionHandler handler,
    ) {
      handler.username(username);
    }
  }

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

  class PinUserVerifierImpl implements PinUserVerifier {
    @override
    void verifyPin(
      PinUserVerificationContext context,
      PinUserVerificationHandler handler,
    ) {
      handler.verifyPin(pin);
    }
  }

  class PasswordUserVerifierImpl implements PasswordUserVerifier {
    @override
    void verifyPassword(
      PasswordUserVerificationContext context,
      PasswordUserVerificationHandler handler,
    ) {
      handler.verifyPassword(password);
    }
  }

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

  [...]
  Future<void> authenticateWithOutOfBand({
    required MobileAuthenticationClient client,
    required OutOfBandPayload payload,
  }) async {
    await client.operations.outOfBandOperation.
      .payload(payload)
      .onRegistration((registration) {
        // handle registration
      })
      .onAuthentication((authentication) {
        authentication
          .accountSelector(AccountSelectorImpl(...))
          .authenticatorSelector(AuthenticatorSelectorImpl(...))
          .pinUserVerifier(PinUserVerifierImpl(...))
          .passwordUserVerifier(PasswordUserVerifierImpl(...))
          .biometricUserVerifier(BiometricUserVerifierImpl(...))
          .onSuccess((authorizationProvider) {
            // handle success
          })
          .onError((error) {
            // handle error
          })
      })
      .onError((error) {
        // handle out-of-band error
      })
      .execute();
  }
  [...]

See OutOfBandOperation.onAuthentication

Inheritance

Constructors

OutOfBandAuthentication()

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

accountSelector(AccountSelector accountSelector) → OutOfBandAuthentication
Specifies the object that will take care of the account selection.
authenticatorSelector(AuthenticatorSelector authenticatorSelector) → OutOfBandAuthentication
Specifies the object that will take care of the selection of the authenticator to be used.
biometricUserVerifier(BiometricUserVerifier biometricUserVerifier) → OutOfBandAuthentication
Specifies the object that will take care of the biometric user verification.
devicePasscodeUserVerifier(DevicePasscodeUserVerifier devicePasscodeUserVerifier) → OutOfBandAuthentication
Specifies the object that will take care of the device passcode user verification.
execute() → Future<void>
Executes the operation asynchronously.
inherited
fingerprintUserVerifier(FingerprintUserVerifier fingerprintUserVerifier) → OutOfBandAuthentication
Specifies the object that will take care of the fingerprint user verification.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onError(dynamic onError(OperationError)) → OutOfBandAuthentication
Specifies the object that will be invoked if the authentication failed.
onSuccess(dynamic onSuccess(AuthorizationProvider?)) → OutOfBandAuthentication
Specifies the object that will be invoked if the authentication was successful.
passwordUserVerifier(PasswordUserVerifier passwordUserVerifier) → OutOfBandAuthentication
Specifies the object that will take care of the password user verification.
pinUserVerifier(PinUserVerifier pinUserVerifier) → OutOfBandAuthentication
Specifies the object that will take care of the PIN user verification.
requestHeaders(RequestHeaders requestHeaders) → OutOfBandAuthentication
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