> ## Documentation Index
> Fetch the complete documentation index at: https://translations.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` d’Universal Login.

L’écran `login` permet à l’utilisateur de saisir son identifiant et son mot de passe. Selon votre locataire, cet identifiant peut être un courriel, un numéro de téléphone ou un nom d’utilisateur. Il prend également en charge l’authentification par l’intermédiaire de fournisseurs d’identité fédérés.

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5be9XfnulShqeXa4MXfXky/f3a5dded3539d4d683a525dfb6ad8042/Screenshot_2025-01-28_at_10.49.07.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=5e6144ad7e3c1b436ae39d32a182a51e" alt="Connexion ACUL" width="396" height="681" data-path="docs/images/cdy7uua7fh8z/5be9XfnulShqeXa4MXfXky/f3a5dded3539d4d683a525dfb6ad8042/Screenshot_2025-01-28_at_10.49.07.png" />
</Frame>

<div id="import">
  ## Importation
</div>

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’utilisation.
* L’importation à la racine vous permet de charger tous les écrans à partir d’un seul bundle, ce qui est utile si vous voulez qu’une version unifiée gère 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,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  // Hooks communs
  useCurrentScreen,
  useAuth0Themes,
  useErrors,
  // Hooks utilitaires
  useLoginIdentifiers,
  useChangeLanguage,
  // Méthodes  
  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>
  );
}
```

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

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

<ParamField body="useBranding" type={<span>() =&gt; <a href="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/BrandingMembers">BrandingMembers</a></span>}>
  Ce hook fournit la configuration 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="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ClientMembers">ClientMembers</a></span>}>
  Ce hook fournit les configurations liées à l’application, 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="useOrganization" type={<span>() =&gt; <a href="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/OrganizationMembers">OrganizationMembers</a></span>}>
  Ce hook fournit des renseignements sur l’Organisation de l’utilisateur si la connexion s’effectue dans le contexte d’une Organisation. Renvoie `null` lorsqu’aucun contexte d’Organisation 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="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/PromptMembers">PromptMembers</a></span>}>
  Ce hook contient des données sur l’invite en cours 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="/fr-CA/docs/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="/fr-CA/docs/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="/fr-CA/docs/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="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>}>
  Ce hook expose les données non fiables transmises à l’écran, comme un nom d’utilisateur prérempli à partir des 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="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UserMembers">UserMembers</a></span>}>
  Ce hook fournit des détails sur l’utilisateur actif, notamment `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="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/LoginMembers">LoginMembers</a>}>
  Ce hook renvoie toutes les méthodes et tout le contexte disponibles pour l’écran `login`.
</ParamField>

<div id="methods">
  ## Méthodes
</div>

<ParamField body="federatedLogin" type="Promise<void>">
  Cette méthode lance l’authentification via un fournisseur d’identité fédéré, comme Google ou GitHub.

  ```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="options">
      [FederatedLoginPayloadOptions](/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/FederatedLoginPayloadOptions).
    </ParamField>

    <ParamField body="connection" type="string" required>
      Le nom de la connexion sociale à utiliser (p. ex. `google-oauth2`, `github`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="login" type="Promise<void>">
  Cette méthode envoie les identifiants 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](/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/LoginPayloadOptions).
    </ParamField>

    <ParamField body="username" type="string" required>
      Le nom d’utilisateur ou le courriel à utiliser pour l’authentification.
    </ParamField>

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

    <ParamField body="captcha?" type="string">
      Valeur du captcha requise lorsque la détection de robots est activée pour 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 ouvre le sélecteur d’indicatif 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>
    );
  }
  ```

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

  <Expandable title="Paramètres">
    <ParamField body="options">
      [CustomOptions](/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/CustomOptions).
    </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>

<div id="commonutility-hooks">
  ## Hooks communs et utilitaires
</div>

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

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

<ParamField body={<a href="/fr-CA/docs/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="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Hooks/useErrors">useErrors</a>} type="Hooks">
  Ce hook permet de lire et de gérer les erreurs du serveur, côté client et du développeur sur l’écran.
</ParamField>

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