Skip to main content
The signup screen collects the user’s credentials to create a new account. It supports standard signup with username, email, phone number, and password, as well as federated signup via social or enterprise connections.
Signup

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 to 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 { useSignup } from '@auth0/auth0-acul-react';

// partial import
import {
  useSignup,
  // Context hooks
  useUser,
  useTenant,
  useBranding,
  useClient,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  // Common hooks
  useCurrentScreen,
  useAuth0Themes,
  useErrors,
  // Utility hooks
  useChangeLanguage,
  usePasswordValidation,
  useSignupIdentifiers,
  useUsernameValidation,
  // Methods
  signup,
  federatedSignup,
  pickCountryCode,
} from '@auth0/auth0-acul-react/signup';

function SignupForm() {
  const { signup } = useSignup();
  return (
    <button onClick={() => signup({ email: 'user@example.com', password: 'secret' })}>
      Create Account
    </button>
  );
}

Context Hooks

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

Methods

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

function SocialButton() {
  const { federatedSignup } = useSignup();
  return (
    <button onClick={() => federatedSignup({ connection: 'google-oauth2' })}>
      Sign up with Google
    </button>
  );
}
pickCountryCode
void | Promise<void>
This method opens the country code picker for phone number input during signup.
Example
import { useSignup } from '@auth0/auth0-acul-react/signup';

function CountryCodePicker() {
  const { pickCountryCode } = useSignup();
  return (
    <button onClick={() => pickCountryCode()}>
      Select Country Code
    </button>
  );
}
signup
void | Promise<void>
This method submits the user’s registration details to create a new account.
Example
import { useSignup } from '@auth0/auth0-acul-react/signup';

function SignupForm() {
  const { signup } = useSignup();
  return (
    <button onClick={() => signup({ email: 'user@example.com', password: 'secret' })}>
      Create Account
    </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 validates the user’s password against the tenant’s password policy requirements.
This hook returns the available signup identifier types (email, username, phone) configured for the connection.
This hook validates the user’s username against the tenant’s username policy requirements.