Screen-specific properties and data, including WebAuthn challenge options.
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}".
Contains the error object with name and message
from the WebAuthn API, and any other custom options.
A promise that resolves when the error report is submitted.
// 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);
}
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.
Optionaloptions: Classes.MfaWebAuthnRoamingChallengeTryAnotherMethodOptionsOptional custom parameters for the request.
A promise that resolves when the action is submitted.
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.
Optionaloptions: Classes.VerifySecurityKeyOptionsOptional parameters for the verification process,
such as rememberDevice and other custom options.
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 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.
// 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.
}
MfaWebAuthnRoamingChallengeMembers