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

# MfaLoginOptions

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

L’écran `mfa-login-options` affiche les facteurs AMF offerts à l’utilisateur pendant le flux de connexion afin qu’il puisse choisir celui à utiliser.

![](https://mintlify.s3.us-west-1.amazonaws.com/docs-staging/docs/images/cdy7uua7fh8z/4TnKlKLKFyAdX6dcOvVlXw/ebd248e8aabf78d20ba1ffec746b4404/Screenshot_2025-02-20_at_17.25.02.png)

## Importation

Chaque écran a son propre ensemble de hooks et de méthodes. Le SDK prend en charge la **partial import** et la **root import** pour chaque écran.

* La partial import vous permet d’inclure uniquement le code nécessaire à votre cas d’utilisation.
* La root import vous permet de charger tous les écrans à partir d’un seul bundle, ce qui est utile si vous souhaitez qu’une compilation unifiée prenne en charge tous les écrans possibles.

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

// importation partielle
import {
  useMfaLoginOptions,
  // Hooks de contexte
  useUser,
  useTenant,
  useBranding,
  useClient,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  // Hooks communs
  useCurrentScreen,
  useAuth0Themes,
  useErrors,
  // Hooks utilitaires
  useChangeLanguage,
  // Méthodes
  enroll,
  returnToPrevious,
} from "@auth0/auth0-acul-react/mfa-login-options";

function MfaLoginOptionsScreen() {
  const { enroll } = useMfaLoginOptions();
  return (
    <button onClick={() => enroll({ action: 'totp' })}>
      Use Authenticator App
    </button>
  );
}
```

## Context Hooks

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

**useBranding** `() => [BrandingMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/BrandingMembers)`

Ce hook fournit les éléments de l’image de marque, comme le logo, les couleurs et les paramètres du thème affichés sur l’écran `mfa-login-options`.

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

**useClient** `() => [ClientMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/ClientMembers)`

Ce hook fournit des données de configuration liées au client, comme `id`, `name` et `logoUrl`, pour l’écran `mfa-login-options`.

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

**useOrganization** `() => [OrganizationMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/OrganizationMembers)`

Ce hook fournit des renseignements sur l’Organization de l’utilisateur si le flux d’AMF est limité à une Organization. Retourne `null` lorsqu’aucun contexte d’Organization n’est présent.

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

**usePrompt** `() => [PromptMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/PromptMembers)`

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/mfa-login-options';
function FlowInfo() {
  const prompt = usePrompt();
}
```

**useScreen** `() => [ScreenMembersOnMfaLoginOptions](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/ScreenMembersOnMfaLoginOptions)`

Ce hook contient des détails propres à l’écran `mfa-login-options`, y compris sa configuration et son contexte.

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

**useTenant** `() => [TenantMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/TenantMembers)`

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/mfa-login-options';
function TenantInfo() {
  const tenant = useTenant();
}
```

**useTransaction** `() => [TransactionMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/TransactionMembers)`

Ce hook fournit des données propres à la transaction pour l’écran `mfa-login-options`, comme l’état actuel du flux d’AMF.

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

**useUntrustedData** `() => [UntrustedDataMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/UntrustedDataMembers)`

Ce hook contient les données non fiables transmises à l’écran, comme les valeurs préremplies provenant des paramètres d’URL.

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

**useUser** `() => [UserMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/UserMembers)`

Ce hook fournit des détails sur l’utilisateur actif, notamment son `username`, son `email` et les méthodes d’authentification disponibles.

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

**useMfaLoginOptions** `[MfaLoginOptionsMembers](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/MfaLoginOptionsMembers)`

Ce hook renvoie toutes les méthodes et tout le contexte disponibles dans l’écran `mfa-login-options`.

## Méthodes

**enroll** `Promise\<void\>`

Cette méthode sélectionne le facteur AMF indiqué et fait passer le flux de connexion à l’écran de vérification de ce facteur.

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

function LoginOptions() {
  const { enroll } = useMfaLoginOptions();
  return (
    <button onClick={() => enroll({ action: 'totp' })}>
      Use Authenticator App
    </button>
  );
}
```

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

**Paramètres**

**options**

[LoginEnrollOptions](https://docs-staging.auth0-mintlify.app/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/LoginEnrollOptions).

**action** `string` *required*

L’action qui indique quel facteur enrôler. Une des valeurs suivantes : "push-notification", "otp", "sms", "phone", "voice", "email", "recovery-code", "webauthn-roaming", "webauthn-platform" ou "duo".

**returnToPrevious** `Promise\<void\>`

Cette méthode retourne à l’écran précédent du flux d’authentification.

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

function BackButton() {
  const { returnToPrevious } = useMfaLoginOptions();
  return (
    <button onClick={() => returnToPrevious()}>
      Back
    </button>
  );
}
```

## Hooks utilitaires communs

**[useAuth0Themes](https://docs-staging.auth0-mintlify.app/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useAuth0Themes.md)** `Hooks`

Ce hook récupère les options du thème actuel avec une configuration à plat à partir du contexte de l’image de marque.

**[useChangeLanguage](https://docs-staging.auth0-mintlify.app/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useChangeLanguage)** `Hooks`

Ce hook renvoie une fonction permettant de changer la langue d’affichage sur l’écran ACUL actuel.

**[useCurrentScreen](https://docs-staging.auth0-mintlify.app/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useCurrentScreen.md)** `Hooks`

Ce hook récupère le contexte et l’état de l’écran actuel.

**[useErrors](https://docs-staging.auth0-mintlify.app/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Hooks/useErrors.md)** `Hooks`

Ce hook lit et gère les erreurs côté serveur, côté client et du développeur à l’écran.
