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

const mfaWebAuthnPlatformChallengeManager = new MfaWebAuthnPlatformChallenge();

Constructors

MfaWebAuthnPlatformChallenge
Constructor
Initializes a new instance of the MfaWebAuthnPlatformChallenge class. It retrieves the necessary context (screen, transaction, etc.) from the global universal_login_context.

Throws

If the Universal Login Context is not available or if the screen name in the context does not match MfaWebAuthnPlatformChallenge.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.
reportBrowserError
Promise<void>
Reports a browser-side error encountered during the WebAuthn navigator.credentials.get() operation. This method should be called when verify() fails due to a WebAuthn API error (e.g., user cancellation). It sends the error details to the server with a specific action format.A promise that resolves when the error report is successfully submitted.

Throws

Throws an error if the form submission fails (e.g., network issue, invalid state).
tryAnotherMethod
Promise<void>
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.A promise that resolves when the ‘pick-authenticator’ action is submitted.

Throws

Throws an error if the form submission fails (e.g., network error, invalid state).
verify
Promise<void>
Initiates the WebAuthn platform authenticator challenge. Internally, this method retrieves the challenge options from this.screen.publicKey, calls navigator.credentials.get() (via the getPasskeyCredentials utility), and then submits the resulting credential assertion to the Auth0 server.A promise that resolves when the credential submission is initiated. A successful operation typically results in a server-side redirect.

Throws

Throws an error if this.screen.publicKey is not available (indicating missing challenge options), if getPasskeyCredentials (and thus navigator.credentials.get()) fails (e.g., user cancellation, no authenticator found, hardware error), or if the final form submission to Auth0 fails. It’s crucial to catch errors from this method. WebAuthn API errors (like NotAllowedError) should ideally be reported using this.reportBrowserError().