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

    Interface MfaWebAuthnRoamingChallengeMembers

    MfaWebAuthnRoamingChallengeMembers

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

    Hierarchy (View Summary)

    Index

    Properties

    branding: BrandingMembers
    organization: OrganizationMembers
    transaction: TransactionMembers
    untrustedData: UntrustedDataMembers

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

    Methods

    • Returns 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

      • Optionaloptions: VerifySecurityKeyOptions

        Optional parameters for the verification process, such as rememberDevice and other custom options.

      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.
      }
    • 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);
      }