@auth0/auth0-acul-js - v1.0.0
    Preparing search index...

    Interface MfaWebAuthnRoamingChallengeMembers

    MfaWebAuthnRoamingChallengeMembers

    interface MfaWebAuthnRoamingChallengeMembers {
        branding: Screens.BrandingMembers;
        client: Screens.ClientMembers;
        organization: Screens.OrganizationMembers;
        prompt: Screens.PromptMembers;
        screen: Screens.ScreenMembersOnMfaWebAuthnRoamingChallenge;
        tenant: Screens.TenantMembers;
        transaction: Screens.TransactionMembers;
        untrustedData: Screens.UntrustedDataMembers;
        user: Screens.UserMembers;
        changeLanguage(options: Screens.LanguageChangeOptions): Promise<void>;
        getErrors(): Screens.Error[];
        reportWebAuthnError(
            options: Screens.MfaWebAuthnRoamingChallengeReportErrorOptions,
        ): Promise<void>;
        tryAnotherMethod(
            options?: Screens.MfaWebAuthnRoamingChallengeTryAnotherMethodOptions,
        ): Promise<void>;
        verify(options?: Screens.VerifySecurityKeyOptions): Promise<void>;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    Screen-specific properties and data, including WebAuthn challenge options.

    Methods

    • Reports a specific WebAuthn API error to Auth0. This method should be used if navigator.credentials.get() fails in a way that verify() doesn't automatically handle, or if the developer wants to explicitly report an error before trying another action. It submits the error details with action: "showError::{errorDetails}".

      Parameters

      Returns Promise<void>

      A promise that resolves when the error report is submitted.

      Throws an error if the form submission fails.

      // Assuming 'sdk' is an instance of MfaWebAuthnRoamingChallenge
      // And webAuthnError is an error object from a failed navigator.credentials.get() call.
      try {
      await sdk.reportWebAuthnError({
      error: { name: webAuthnError.name, message: webAuthnError.message }
      });
      } catch (submitError) {
      console.error("Failed to report WebAuthn error:", submitError);
      }
    • Allows the user to opt-out of the WebAuthn 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.

      Parameters

      Returns Promise<void>

      A promise that resolves when the action is submitted.

      Throws an error if the form submission fails.

      // Assuming 'sdk' is an instance of MfaWebAuthnRoamingChallenge
      try {
      await sdk.tryAnotherMethod();
      // On success, Auth0 handles redirection to MFA selection.
      } catch (error) {
      console.error("Failed to switch MFA method:", error);
      }
    • Initiates the WebAuthn challenge by calling navigator.credentials.get() with the options provided in screen.data.publicKeyChallengeOptions. If successful, it submits the resulting credential to Auth0 with action: "default". If navigator.credentials.get() fails with a known WebAuthn API error (like NotAllowedError), this method will internally call reportWebAuthnError to inform Auth0.

      Parameters

      Returns Promise<void>

      A promise that resolves when the verification attempt is submitted. It does not directly return data as a successful operation typically results in a redirect.

      Throws an error if screen.data.publicKeyChallengeOptions is missing, if navigator.credentials.get() fails with an unexpected error, or if the form submission to Auth0 fails.

      // Assuming 'sdk' is an instance of MfaWebAuthnRoamingChallenge
      try {
      await sdk.verify({ rememberDevice: true });
      // On success, Auth0 handles redirection.
      } catch (error) {
      console.error("Security key verification failed:", error);
      // Check sdk.transaction.errors for server-side validation messages if the page reloads.
      }