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

    Class MfaPushEnrollmentQr

    Class implementing the mfa-push-enrollment-qr screen functionality

    Hierarchy

    • BaseContext
      • MfaPushEnrollmentQr

    Implements

    Index

    Constructors

    Properties

    screenIdentifier: string = ScreenIds.MFA_PUSH_ENROLLMENT_QR

    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

    • Utility Feature

      Starts and manages polling for an MFA push challenge.

      Creates a polling session that repeatedly checks the MFA push challenge endpoint at the specified interval until the challenge is approved or an error occurs. When the approval condition is met, the provided onCompleted callback is invoked and polling stops automatically.

      Use the returned MfaPushPollingControl to start, stop, or check the status of the polling process at any time.

      Parameters

      • options: Screens.MfaPollingOptions

        Configuration options for the polling process:

        • intervalMs — Optional polling interval in milliseconds (defaults to SDK’s internal value, typically 5000 ms).
        • onCompleted — Optional callback fired when the MFA push is successfully approved.
        • onError — Optional callback fired when a polling error occurs, receiving an ULError.

      Returns Screens.MfaPushPollingControl

      A MfaPushPollingControl instance exposing:

      • startPolling() — Starts or resumes polling.
      • stopPolling() — Cancels polling immediately.
      • isRunning() — Indicates whether polling is currently active.
      // Start polling every 5 seconds until the push challenge is approved
      const control = mfaPushChallengePush.pollingManager({
      intervalMs: 5000,
      onCompleted: () => mfaPushChallengePush.continue(),
      onError: (error) => console.error('Polling error:', error),
      });

      // Later, cancel polling if needed
      control.stopPolling();
      • HTTP 429 (rate limit) responses are handled internally: polling automatically waits until the rate limit resets before retrying.
      • Safe to call startPolling() multiple times; it has no effect if already running.