Initializes a new instance of the MfaWebAuthnPlatformChallenge
class.
It retrieves the necessary context (screen, transaction, etc.) from the global universal_login_context
.
Static
screenstatic
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.
Contains the error
object (with name
and message
properties from the browser's WebAuthn API DOMException) and any other custom options.
The error
object will be JSON stringified and embedded in the action
parameter.
A promise that resolves when the error report is successfully submitted.
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. Any 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.
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.
Optional
options: Classes.VerifyPlatformAuthenticatorOptionsOptional parameters for the verification.
This can include rememberDevice
if this.screen.showRememberDevice
is true,
and any other custom key-value pairs to be sent in the form submission.
A promise that resolves when the credential submission is initiated. A successful operation typically results in a server-side redirect.
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()
.
MfaWebAuthnPlatformChallenge