Skip to main content
Example
import MfaWebAuthnRoamingChallenge from "@auth0/auth0-acul-js/mfa-webauthn-roaming-challenge";

const mfaWebAuthnRoamingChallengeManager = new MfaWebAuthnRoamingChallenge();

Constructors

MfaWebAuthnRoamingChallenge
Constructor
Initializes a new instance of the MfaWebAuthnRoamingChallenge class.

Throws

If the Universal Login Context is not available or if the screen name in the context does not match MfaWebAuthnRoamingChallenge.screenIdentifier.

Properties

branding
client
organization
prompt
screen
tenant
transaction
untrustedData
user
screenIdentifier
string
static

Methods

getErrors
Retrieves the array of transaction errors from the context, or an empty array if none exist.An array of error objects from the transaction context.
reportWebAuthnError
Promise<void>
Reports a specific WebAuthn API error to Auth0. This method should be used if navigator.credentials.get() fails in a way that verify() doesn’t automatically handle, or if the developer wants to explicitly report an error before trying another action. It submits the error details with action: "showError::{errorDetails}".A promise that resolves when the error report is submitted.

Throws

Throws an error if the form submission fails.
Example
// Assuming 'sdk' is an instance of MfaWebAuthnRoamingChallenge
// And webAuthnError is an error object from a failed navigator.credentials.get() call.
try {
  await sdk.reportWebAuthnError({
    error: { name: webAuthnError.name, message: webAuthnError.message }
  });
} catch (submitError) {
  console.error("Failed to report WebAuthn error:", submitError);
}
tryAnotherMethod
Promise<void>
Allows the user to opt-out of the WebAuthn challenge and select a different MFA method. This action submits action: "pick-authenticator" to Auth0, which should navigate the user to an MFA factor selection screen.A promise that resolves when the action is submitted.

Throws

Throws an error if the form submission fails.
Example
// Assuming 'sdk' is an instance of MfaWebAuthnRoamingChallenge
try {
  await sdk.tryAnotherMethod();
  // On success, Auth0 handles redirection to MFA selection.
} catch (error) {
  console.error("Failed to switch MFA method:", error);
}
verify
Promise<void>
Initiates the WebAuthn challenge by calling navigator.credentials.get() with the options provided in screen.data.publicKeyChallengeOptions. If successful, it submits the resulting credential to Auth0 with action: "default". If navigator.credentials.get() fails with a known WebAuthn API error (like NotAllowedError), this method will internally call reportWebAuthnError to inform Auth0.A promise that resolves when the verification attempt is submitted. It does not directly return data as a successful operation typically results in a redirect.

Throws

Throws an error if screen.data.publicKeyChallengeOptions is missing, if navigator.credentials.get() fails with an unexpected error, or if the form submission to Auth0 fails.
Example
// Assuming 'sdk' is an instance of MfaWebAuthnRoamingChallenge
try {
  await sdk.verify({ rememberDevice: true });
  // On success, Auth0 handles redirection.
} catch (error) {
  console.error("Security key verification failed:", error);
  // Check sdk.transaction.errors for server-side validation messages if the page reloads.
}