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

    Class LoginPasswordlessEmailCode

    Hierarchy

    • BaseContext
      • LoginPasswordlessEmailCode

    Implements

    Index

    Constructors

    Properties

    Optional on the interface so existing implementors of BaseMembers (e.g. test mocks) keep compiling. Always populated at runtime by the BaseContext constructor.

    experiment: Screens.ExperimentMembers | null
    screenIdentifier: string = ScreenIds.LOGIN_PASSWORDLESS_EMAIL_CODE

    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

    • Requests a new one-time code for the user's email address.

      Parameters

      Returns Promise<void>

      A promise that resolves once the form is submitted, before the new page loads. It doesn't confirm that a new code was sent.

      Submits a form POST with action: "resend". Auth0 responds by rendering this screen again. If a captcha is required, it sends the user back to the login-id screen instead (signup-id if the user started from signup) to complete the captcha. Either way the browser loads a new page, and the current JavaScript context, including component state and timers, is lost.

      Code after await resendCode() may still run, but anything it sets up, such as a "code sent" message or a countdown, is gone after the reload. If the email can't be sent, for example because of a rate limit, Auth0 renders this screen again without an error. Only extensibility errors (such as an error from an Action) and unexpected failures appear in transaction.errors on the reloaded page. The returned promise doesn't reject.

      To add a cooldown between resends, use resendManager(). It stores its countdown in localStorage, so the countdown survives the reload.

      import LoginPasswordlessEmailCode from '@auth0/auth0-acul-js/login-passwordless-email-code';

      const loginPasswordlessEmailCode = new LoginPasswordlessEmailCode();
      loginPasswordlessEmailCode.resendCode();
    • Utility Feature

      Creates a resend control manager for handling email code resend operations.

      Parameters

      Returns Screens.ResendControl

      A ResendControl object with resend functionality and state management

      import LoginPasswordlessEmailCode from '@auth0/auth0-acul-js/login-passwordless-email-code';

      const loginPasswordlessEmailCode = new LoginPasswordlessEmailCode();
      const { startResend } = loginPasswordlessEmailCode.resendManager({
      timeoutSeconds: 60,
      onStatusChange: (remainingSeconds, isDisabled) => {
      console.log(`Resend available in ${remainingSeconds}s, disabled: ${isDisabled}`);
      },
      onTimeout: () => {
      console.log('Resend is now available');
      }
      });

      // Call startResend when user clicks resend button
      startResend();
    • Switches from passwordless email code authentication to a database connection.

      Parameters

      Returns Promise<void>

      This method allows users to switch from the current passwordless email authentication to a traditional database connection that supports username/password authentication.

      Common database connection names:

      • 'Username-Password-Authentication' - The default Auth0 database connection
      • Custom database connection names as configured in your Auth0 tenant (e.g., 'my-custom-db')
      import LoginPasswordlessEmailCode from "@auth0/auth0-acul-js/login-passwordless-email-code";

      const loginPasswordlessEmailCode = new LoginPasswordlessEmailCode();

      // Switch to the default database connection (hardcoded connection name)
      await loginPasswordlessEmailCode.switchConnection({
      connection: 'Username-Password-Authentication'
      });

      // Or switch to a custom database connection (hardcoded connection name)
      await loginPasswordlessEmailCode.switchConnection({
      connection: 'my-custom-db-connection'
      });