Screen-specific properties and data, including WebAuthn challenge options and remember device preference.
Reports a specific WebAuthn API error (from navigator.credentials.get()) to Auth0.
This method should be used when verify() (or a manual navigator.credentials.get() call) fails due to
a browser-side WebAuthn issue (e.g., user cancellation NotAllowedError, timeout).
It submits the error details with action: "showError::{errorDetailsJsonString}" and an empty response.
Contains the error object (with name and message
from the WebAuthn API DOMException) and any other custom options.
A promise that resolves when the error report is submitted.
// Assuming 'sdk' is an instance of MfaWebAuthnPlatformChallenge
// And webAuthnDomException is an error object from a failed navigator.credentials.get() call.
try {
  await sdk.reportBrowserError({
    error: { name: webAuthnDomException.name, message: webAuthnDomException.message }
  });
  // Auth0 will process this error and may re-render the page or redirect.
} catch (submitError) {
  console.error("Failed to report WebAuthn browser error:", submitError);
}
Allows the user to opt-out of the WebAuthn platform 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.MfaWebAuthnPlatformChallengeTryAnotherMethodOptionsOptional custom parameters to be sent with the request.
A promise that resolves when the 'pick-authenticator' action is submitted.
Initiates the WebAuthn platform authenticator challenge.
This method internally calls navigator.credentials.get() using the challenge options
provided in screen.publicKey.
If successful, it submits the resulting credential to Auth0 with action: "default".
If navigator.credentials.get() fails (e.g., user cancellation, timeout, or other WebAuthn API errors),
it's recommended to call reportBrowserError with the error details.
Optionaloptions: Classes.VerifyPlatformAuthenticatorOptionsOptional parameters for the verification process,
such as rememberDevice (if screen.showRememberDevice is true) and other custom options.
A promise that resolves when the verification attempt is submitted. A successful operation typically results in a redirect.
Throws an error if screen.publicKey is missing,
if navigator.credentials.get() fails with an unexpected error not handled by getPasskeyCredentials,
or if the form submission to Auth0 fails.
// Assuming 'sdk' is an instance of MfaWebAuthnPlatformChallenge
try {
  const remember = sdk.screen.showRememberDevice && userCheckedRememberDeviceBox;
  await sdk.verify({ rememberDevice: remember });
  // On success, Auth0 handles redirection.
} catch (error) {
  console.error("Platform authenticator verification failed:", error);
  // If it's a WebAuthn API error, report it
  if (error.name && error.message) { // Basic check for DOMException like error
    await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
  }
  // Check sdk.transaction.errors for server-side validation messages if the page reloads.
}
MfaWebAuthnPlatformChallengeMembers