> ## Documentation Index
> Fetch the complete documentation index at: https://auth0-automated-translations-update.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Connexion

> Décrit tous les hooks et toutes les méthodes disponibles pour personnaliser l’écran `login` de Universal Login.

L’écran `login` recueille l’identifiant et le mot de passe de l’utilisateur. Selon votre tenant, cet identifiant peut être une adresse courriel, un numéro de téléphone ou un nom d’utilisateur. Il prend aussi en charge l’authentification par des fournisseurs d’identité fédérés et Google One Tap.

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-automated-translations-update/docs/images/cdy7uua7fh8z/5be9XfnulShqeXa4MXfXky/f3a5dded3539d4d683a525dfb6ad8042/Screenshot_2025-01-28_at_10.49.07.png" alt="ACUL Login" />
</Frame>

<h2 id="import">
  Importation
</h2>

Chaque écran possède son propre ensemble de hooks et de méthodes. Le SDK prend en charge l’**importation partielle** et l’**importation à la racine** pour chaque écran.

* L’importation partielle vous permet d’inclure uniquement le code nécessaire à votre cas d’usage.
* L’importation à la racine vous permet de charger tous les écrans à partir d’un seul bundle, ce qui est utile si vous voulez qu’un build unifié prenne en charge tous les écrans possibles.

```jsx Import Example theme={null}
// importation racine
import { useLogin } from '@auth0/auth0-acul-react';

// importation partielle
import {
  useLogin,
  // Hooks de contexte
  useUser,
  useTenant,
  useBranding,
  useClient,
  useCountryCodes,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  useExperiment,
  // Hooks communs
  useCurrentScreen,
  useAuth0Themes,
  useErrors,
  // Hooks utilitaires
  useLoginIdentifiers,
  useChangeLanguage,
  // Méthodes  
  login,
  federatedLogin,
  googleOneTap,
  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>
  );
}
```

<h2 id="context-hooks">
  Hooks de contexte
</h2>

Hooks propres à l’écran qui fournissent un accès en lecture seule aux données de contexte d’Auth0 sur l’écran `login`. Importez-les depuis `@auth0/auth0-acul-react/login`.

<ParamField body="useBranding" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/BrandingMembers">BrandingMembers</a></span>}>
  Ce hook fournit des configurations d’image de marque, comme le logo, les couleurs et les paramètres de thème affichés sur l’écran `login`.

  ```jsx Example theme={null}
  import { useBranding } from '@auth0/auth0-acul-react/login';
  function CustomTheme() {
    const branding = useBranding();
  }
  ```
</ParamField>

<ParamField body="useClient" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/ClientMembers">ClientMembers</a></span>}>
  Ce hook fournit des configurations liées au client, comme `id`, `name` et `logoUrl`, pour l’écran `login`.

  ```jsx Example theme={null}
  import { useClient } from '@auth0/auth0-acul-react/login';
  function AppInfo() {
    const client = useClient();
  }
  ```
</ParamField>

<ParamField body="useCountryCodes" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/CountryCodesMembers">CountryCodesMembers</a></span>}>
  Ce hook fournit les indicatifs téléphoniques de pays disponibles et la valeur par défaut recommandée pour l’écran `login`.

  ```jsx Example theme={null}
  import { useCountryCodes } from '@auth0/auth0-acul-react/login';
  function CountryPicker() {
    const countryCodes = useCountryCodes();
    const available = countryCodes?.available;
  }
  ```
</ParamField>

<ParamField body="useExperiment" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/ExperimentMembers">ExperimentMembers</a></span>}>
  Ce hook fournit l’expérimentation [Experiment Center](/docs/fr-ca/customize/experiment-center) active pour l’écran `login`, ou `null` lorsqu’aucune expérimentation n’est active (ou si l’écran n’y a pas adhéré au moyen de `context_configuration`).

  ```jsx Example theme={null}
  import { useExperiment } from '@auth0/auth0-acul-react/login';
  function ExperimentBranch() {
    const experiment = useExperiment();
    if (!experiment) return null;
    return experiment.isControl ? <ControlUI /> : <TreatmentUI />;
  }
  ```
</ParamField>

<ParamField body="useOrganization" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/OrganizationMembers">OrganizationMembers</a></span>}>
  Ce hook fournit de l’information sur l’Organization de l’utilisateur si la connexion est associée à une Organization. Retourne `null` lorsqu’aucun contexte d’Organization n’est présent.

  ```jsx Example theme={null}
  import { useOrganization } from '@auth0/auth0-acul-react/login';
  function OrgSelector() {
    const organization = useOrganization();
    if (!organization) {
      return <p>No organization context</p>;
    }
  }
  ```
</ParamField>

<ParamField body="usePrompt" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/PromptMembers">PromptMembers</a></span>}>
  Ce hook contient des données sur le prompt actuel dans le flux d’authentification.

  ```jsx Example theme={null}
  import { usePrompt } from '@auth0/auth0-acul-react/login';
  function FlowInfo() {
    const prompt = usePrompt();
  }
  ```
</ParamField>

<ParamField body="useScreen" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/ScreenMembersOnLogin">ScreenMembersOnLogin</a></span>}>
  Ce hook contient des détails propres à l’écran `login`, y compris sa configuration et son contexte.

  ```jsx Example theme={null}
  import { useScreen } from '@auth0/auth0-acul-react/login';
  function ScreenDebug() {
    const screen = useScreen();
  }
  ```
</ParamField>

<ParamField body="useTenant" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/TenantMembers">TenantMembers</a></span>}>
  Ce hook contient des données liées au locataire, comme `id` et les métadonnées associées.

  ```jsx Example theme={null}
  import { useTenant } from '@auth0/auth0-acul-react/login';
  function TenantInfo() {
    const tenant = useTenant();
  }
  ```
</ParamField>

<ParamField body="useTransaction" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/TransactionMembersOnLogin">TransactionMembersOnLogin</a></span>}>
  Ce hook fournit des données propres à la transaction pour l’écran `login`, comme les connexions actives, les méthodes de connexion disponibles et l’état actuel du flux.

  ```jsx Example theme={null}
  import { useTransaction } from '@auth0/auth0-acul-react/login';
  function TransactionInfo() {
    const transaction = useTransaction();
  }
  ```
</ParamField>

<ParamField body="useUntrustedData" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>}>
  Ce hook gère les données non fiables transmises à l’écran, comme un username prérempli à partir de paramètres d’URL.

  ```jsx Example theme={null}
  import { useUntrustedData } from '@auth0/auth0-acul-react/login';
  function PrefilledForm() {
    const untrustedData = useUntrustedData();
  }
  ```
</ParamField>

<ParamField body="useUser" type={<span>() =&gt; <a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/UserMembers">UserMembers</a></span>}>
  Ce hook fournit des détails sur l’utilisateur actif, y compris `username`, `email` et les méthodes d’authentification disponibles.

  ```jsx Example theme={null}
  import { useUser } from '@auth0/auth0-acul-react/login';
  function UserProfile() {
    const user = useUser();
  }
  ```
</ParamField>

<ParamField body="useLogin" type={<a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/LoginMembers">LoginMembers</a>}>
  Ce hook retourne toutes les méthodes et tout le contexte disponibles sur l’écran `login`.
</ParamField>

<h2 id="methods">
  Méthodes
</h2>

<ParamField body="googleOneTap" type="Promise<void>">
  Cette méthode authentifie l’utilisateur à l’aide d’une information d’identification Google One Tap, ce qui permet de se connecter en un clic sans être redirigé vers une page de connexion distincte.

  ```jsx Example theme={null}
  import { useLogin } from '@auth0/auth0-acul-react/login';

  function GoogleOneTapHandler({ credential }) {
    const { googleOneTap } = useLogin();
    return googleOneTap({ one_tap_credential: credential });
  }
  ```

  **Paramètres de la méthode**

  <Expandable title="Paramètres">
    <ParamField body="one_tap_credential" type="string" required>
      Le jeton d’information d’identification Google One Tap renvoyé par l’invite Google Identity Services.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="federatedLogin" type="Promise<void>">
  Cette méthode redirige l’utilisateur vers le [Social](/docs/fr-ca/authenticate/identity-providers/social-identity-providers) ou le [fournisseur d’identité Enterprise](/docs/fr-ca/authenticate/identity-providers/enterprise-identity-providers) (IdP) pour l’authentification.

  ```jsx Example theme={null}
  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>
    );
  }
  ```

  **Paramètres de la méthode**

  <Expandable title="Paramètres">
    <ParamField body="connection" type="string" required>
      Le nom de connexion du fournisseur d’identité Social ou Enterprise.
    </ParamField>

    <ParamField body="[`key`: `string`]" type="&#x22;string&#x22; | &#x22;number&#x22; | &#x22;boolean&#x22; | &#x22;undefined&#x22;">
      Champs personnalisés supplémentaires préfixés par `ulp-` (par exemple, `'ulp-custom-field'`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="login" type="Promise<void>">
  Cette méthode envoie les informations d’identification de l’utilisateur pour terminer l’authentification sur l’écran `login`.

  ```jsx Example theme={null}
  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>
    );
  }
  ```

  **Paramètres de la méthode**

  <Expandable title="Paramètres">
    <ParamField body="options">
      [LoginPayloadOptions](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/LoginPayloadOptions).
    </ParamField>

    <ParamField body="identifier?" type="string">
      L’identifiant de l’utilisateur — courriel, nom d’utilisateur ou numéro de téléphone, selon `identifierType`. Fournissez celui-ci ou `username`; si les deux sont fournis, `identifier` a préséance.
    </ParamField>

    <ParamField body="username?" type="string">
      L’identifiant de l’utilisateur, dans son orthographe d’origine. Fournissez celui-ci ou `identifier`.
    </ParamField>

    <ParamField body="identifierType?" type={<span><a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/type-aliases/IdentifierType">IdentifierType</a></span>}>
      Ce que contient `identifier` (ou `username`). Cette valeur est généralement lue depuis `screen.data.activeIdentifierType`. Omettez-la pour soumettre l’identifiant sans type.
    </ParamField>

    <ParamField body="password" type="string" required>
      Le mot de passe utilisé pour l’authentification.
    </ParamField>

    <ParamField body="phoneCountryCode?" type="string">
      Le pays ISO 3166-1 alpha-2 associé à un identifiant téléphonique, provenant d’un `code` dans `countryCodes.available`. Requis lorsque `identifierType` est `phone`. Transmettez le numéro national — l’indicatif est ajouté côté serveur.
    </ParamField>

    <ParamField body="captcha?" type="string">
      Valeur du captcha requise lorsque la détection de robots est activée sur le locataire.
    </ParamField>

    <ParamField body="[`key`: `string`]" type="&#x22;string&#x22; | &#x22;number&#x22; | &#x22;boolean&#x22; | &#x22;undefined&#x22;">
      Champs personnalisés supplémentaires préfixés par `ulp-` (par exemple, `'ulp-custom-field'`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="pickCountryCode" type="Promise<void>">
  Cette méthode mène au sélecteur de code de pays pour les flux de connexion par téléphone.

  ```jsx Example theme={null}
  import { useLogin } from '@auth0/auth0-acul-react/login';

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

<h2 id="commonutility-hooks">
  Hooks utilitaires courants
</h2>

<ParamField body={<a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useAuth0Themes">useAuth0Themes</a>} type="Hooks">
  Ce hook récupère les options du thème actuel à partir du contexte de l’image de marque, avec une configuration aplatie.
</ParamField>

<ParamField body={<a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useChangeLanguage">useChangeLanguage</a>} type="Hooks">
  Ce hook renvoie une fonction qui permet de changer la langue d’affichage sur l’écran ACUL actuel.
</ParamField>

<ParamField body={<a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useCurrentScreen">useCurrentScreen</a>} type="Hooks">
  Ce hook récupère le contexte et l’état de l’écran actuel.
</ParamField>

<ParamField body={<a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useErrors">useErrors</a>} type="Hooks">
  Ce hook lit et gère les erreurs côté serveur, côté client et côté développeur sur l’écran.
</ParamField>

<ParamField body={<a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useLoginIdentifiers">useLoginIdentifiers</a>} type="Hooks">
  Ce hook renvoie la liste des types d’identifiant actifs (`email`, `phone`, `username`) dans le flux actuel.
</ParamField>
