Skip to main content
The login screen collects the user’s identifier and password. Depending on your tenant, this identifier can be an email, phone number, or username. It also supports authentication via federated identity providers.
ACUL Login

Import

Each screen has its own set of hooks and methods. The SDK supports partial import and root import for each screen.
  • Using partial import allows you include only the code you need for your specific use case.
  • Using root import allows you to load all screens from a single bundle useful when you want a unified build to handle all possible screens.
Import Example
// root import
import { useLogin } from '@auth0/auth0-acul-react';

// partial import
import {
  useLogin,
  // Context hooks
  useUser,
  useTenant,
  useBranding,
  useClient,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  // Common hooks
  useCurrentScreen,
  useAuth0Themes,
  useErrors,
  // Utility hooks
  useLoginIdentifiers,
  useChangeLanguage,
  // Methods  
  login,
  federatedLogin,
  pickCountryCode,
} from "@auth0/auth0-acul-react/login";

function LoginForm() {
  const { login, federatedLogin } = useLogin();
  return (
    <button onClick={() => login({ username: "user@example.com", password: "secret" })}>
      Sign In
    </button>
  );
}

Context Hooks

Screen-scoped hooks that provide read-only access to Auth0 context data on the login screen. Import them from @auth0/auth0-acul-react/login.
useBranding
This hook provides branding configurations, such as logo, colors, and theme settings displayed on the login screen.
Example
import { useBranding } from '@auth0/auth0-acul-react/login';
function CustomTheme() {
  const branding = useBranding();
}
useClient
This hook provides client-related configurations, such as id, name, and logoUrl, for the login screen.
Example
import { useClient } from '@auth0/auth0-acul-react/login';
function AppInfo() {
  const client = useClient();
}
useOrganization
This hook provides information about the user’s Organization if the login is Organization scoped. Returns null when no Organization context is present.
Example
import { useOrganization } from '@auth0/auth0-acul-react/login';
function OrgSelector() {
  const organization = useOrganization();
  if (!organization) {
    return <p>No organization context</p>;
  }
}
usePrompt
This hook contains data about the current prompt in the authentication flow.
Example
import { usePrompt } from '@auth0/auth0-acul-react/login';
function FlowInfo() {
  const prompt = usePrompt();
}
This hook contains details specific to the login screen, including its configuration and context.
Example
import { useScreen } from '@auth0/auth0-acul-react/login';
function ScreenDebug() {
  const screen = useScreen();
}
useTenant
This hook contains data related to the tenant, such as id and associated metadata.
Example
import { useTenant } from '@auth0/auth0-acul-react/login';
function TenantInfo() {
  const tenant = useTenant();
}
useTransaction
This hook provides transaction-specific data for the login screen, such as active connections, available login methods, and current flow state.
Example
import { useTransaction } from '@auth0/auth0-acul-react/login';
function TransactionInfo() {
  const transaction = useTransaction();
}
useUntrustedData
This hook handles untrusted data passed to the screen, such as a prefilled username from URL parameters.
Example
import { useUntrustedData } from '@auth0/auth0-acul-react/login';
function PrefilledForm() {
  const untrustedData = useUntrustedData();
}
useUser
This hook provides details of the active user, including username, email, and available authentication methods.
Example
import { useUser } from '@auth0/auth0-acul-react/login';
function UserProfile() {
  const user = useUser();
}
This hook returns all methods and context available on the login screen.

Methods

federatedLogin
void | Promise<void>
This method initiates authentication via a federated identity provider, such as Google or GitHub.
Example
import { useLogin } from '@auth0/auth0-acul-react/login';

function SocialButton() {
  const { federatedLogin } = useLogin();
  return (
    <button onClick={() => federatedLogin({ connection: 'google-oauth2' })}>
      Sign in with Google
    </button>
  );
}
login
void | Promise<void>
This method submits the user’s credentials to complete authentication on the login screen.
Example
import { useLogin } from '@auth0/auth0-acul-react/login';

function LoginForm() {
  const { login } = useLogin();
  return (
    <button onClick={() => login({ username: 'user@example.com', password: 'secret' })}>
      Sign In
    </button>
  );
}
pickCountryCode
void | Promise<void>
This method navigates to the country code picker for phone-based login flows.
Example
import { useLogin } from '@auth0/auth0-acul-react/login';

function PhoneLogin() {
  const { pickCountryCode } = useLogin();
  return (
    <button onClick={() => pickCountryCode()}>
      Select Country Code
    </button>
  );
}

Common/Utility Hooks

This hook gets the current theme options with flattened configuration from branding context.
This hook returns a function for changing the display language on the current ACUL screen.
This hook gets the current screen context and state.
This hook reads and manages server, client, and developer errors on the screen.
This hook returns a list of active identifier types (email, phone, username) in the current flow.