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

    Class MfaWebAuthnRoamingChallenge

    MfaWebAuthnRoamingChallenge

    Hierarchy

    • BaseContext
      • MfaWebAuthnRoamingChallenge

    Implements

    Index

    Constructors

    Properties

    screenIdentifier: string = ScreenIds.MFA_WEBAUTHN_ROAMING_CHALLENGE

    static

    Methods - Language

    • Utility Feature

      Changes the language/locale for the current authentication flow.

      This method triggers a language change by submitting the new locale preference to the server with the 'change-language' action. The language change will cause the current screen to re-render with the new locale.

      Parameters

      • options: Screens.LanguageChangeOptions

        Language change options including the target language code

        Options for changing the language/locale during the authentication flow

        • [key: string]: string | number | boolean | undefined

          Additional custom fields to be submitted along with the language change. Custom fields should be prefixed with 'ulp-'.

        • language: string

          Short language name (locale code) to be set (e.g., 'en', 'fr', 'es').

        • Optionalpersist?: "session"

          Defines persistence scope for the language preference. Currently only 'session' is supported.

          'session'
          

      Returns Promise<void>

      A promise that resolves when the form submission is complete

      import LoginId from "@auth0/auth0-acul-js/login-id";

      const loginManager = new LoginId();

      // Change language to French
      await loginManager.changeLanguage({
      language: 'fr',
      persist: 'session'
      });
      import LoginPassword from "@auth0/auth0-acul-js/login-password";

      const loginPasswordManager = new LoginPassword();

      // Change language to Spanish with additional custom data
      await loginPasswordManager.changeLanguage({
      language: 'es',
      persist: 'session',
      'ulp-custom-field': 'custom-value'
      });
      • This method is available on all screen instances that extend BaseContext
      • The language must be one of the enabled locales configured in your Auth0 tenant
      • The screen will automatically re-render with the new language after submission
      • Custom fields can be included and will be accessible in the Post Login Trigger

    Methods - Other

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