Initializes a new instance of the ResetPasswordMfaWebAuthnPlatformChallenge
class.
It retrieves the necessary context (screen, transaction, etc.) from the global universal_login_context
and sets up screen-specific properties via ScreenOverride
.
Static
screenstatic
Initiates the WebAuthn platform authenticator challenge by calling navigator.credentials.get()
using the challenge options provided in screen.publicKey
.
If successful, it submits the resulting credential assertion to Auth0 with action: "default"
.
Optional
options: Classes.ResetPasswordMfaWebAuthnPlatformChallengeContinueOptionsOptional 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 (e.g., user cancellation NotAllowedError
),
or if the form submission to Auth0 fails. If navigator.credentials.get()
fails
with a DOMException
, it's recommended to catch that error and call reportBrowserError
.
// Assuming 'sdk' is an instance of ResetPasswordMfaWebAuthnPlatformChallenge
try {
await sdk.continueWithPasskey({
rememberDevice: true // if user checked the box and sdk.screen.showRememberDevice is true
});
// On success, Auth0 handles redirection.
} catch (error) {
console.error("Platform authenticator verification failed:", error);
// If it's a WebAuthn API error (DOMException), report it
if (error instanceof DOMException && error.name && error.message) { // DOMException check
await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
}
// Check sdk.transaction.errors for server-side validation messages if the page reloads.
}
Reports a browser-side error that occurred during the navigator.credentials.get()
API call.
This is used to inform Auth0 about issues like user cancellation (NotAllowedError
),
timeout, or other WebAuthn API specific errors.
It submits the error details with action: "showError::{errorDetailsJsonString}"
.
An object containing:
error
: A WebAuthnErrorDetails
object with at least name
and message
properties
from the DOMException
thrown by navigator.credentials.get()
.CustomOptions
to be included in the form submission.A promise that resolves when the error report is successfully submitted.
// In your UI component, in the catch block of navigator.credentials.get():
// } catch (webAuthnError) {
// if (webAuthnError instanceof DOMException) {
// await sdk.reportBrowserError({
// error: { name: webAuthnError.name, message: webAuthnError.message }
// });
// } else {
// // Handle other types of errors
// }
// }
Allows the user to opt-out of the WebAuthn platform authenticator challenge and select
a different MFA method for verifying their identity during password reset.
This action submits action: "pick-authenticator"
to Auth0, which should navigate
the user to an MFA factor selection screen.
Optional
options: Classes.ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptionsOptional. Any custom parameters to be sent with the request. These will be included in the form data.
A promise that resolves when the 'pick-authenticator' action is submitted.
ResetPasswordMfaWebAuthnPlatformChallenge