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.
Optional
options: 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.
Optional
options: 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