> ## 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` 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://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="ACUL Login" 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’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,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  // 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>
  );
}
```

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

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="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 le login est associé à 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 tenant, 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 connections 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 renvoie toutes les méthodes et le contexte disponibles à l’écran `login`.
</ParamField>

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

<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>
  </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="username" type="string" required>
      Le nom d’utilisateur ou l’adresse courriel à utiliser pour s’authentifier.
    </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 bots est activée sur le tenant.
    </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>

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

<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>
