Skip to main content
Le composant UserMFAManagement permet aux utilisateurs d’inscrire, de consulter et de supprimer leurs propres facteurs d’authentification multifacteur dans une interface unique sous forme de cartes, grâce à l’API My Account. Il utilise les capacités de gestion des méthodes d’authentification de l’API My Account pour afficher une interface complète de gestion des méthodes d’authentification d’un utilisateur. Avec le composant UserMFAManagement, vous n’avez pas à gérer la navigation, à effectuer des requêtes vers des endpoints d’API ni à gérer l’état.
Composant Gestion de l’AMF utilisateur affichant les méthodes de vérification disponibles et inscrites

Facteurs pris en charge

Le composant prend en charge tous les facteurs de méthode d’authentification configurés avec la My Account API.

Configurez votre application

Sélectionnez votre framework pour configurer les variables d’environnement et Universal Components.

Exigences de configuration

Avant d’afficher le composant UserMFAManagement, suivez les instructions de Build Account Security UI pour configurer votre tenant Auth0 et vos applications.

Activer les méthodes et les portées MFA

Activer les méthodes MFA
  1. Accédez à Dashboard > Sécurité > Multi-factor Auth.
  2. Activez les facteurs souhaités. Pour en savoir plus, consultez Multi-Factor Authentication Factors.
Configurer les permissions de My Account APIConfigurez les permissions d’accès délégué par l’utilisateur de My Account API en suivant les instructions de Build Account Security UI. Les cinq permissions sont requises pour le flux complet de gestion des méthodes d’authentification.

Installer le composant

react-hook-form et @tanstack/react-query sont des dépendances pairs. La commande installe également la dépendance @auth0/universal-components-core, qui fournit des utilitaires partagés et l’intégration à Auth0.

Pour commencer

  • Les composants sont toujours importés à partir du point d’entrée racine @auth0/universal-components-react, quel que soit le framework.
  • Seul le composant Auth0ComponentProvider utilise un sous-chemin propre au framework : /spa pour les applications React et /rwa pour les applications Next.js.

Propriété

Propriétés d’affichage

Les propriétés d’affichage contrôlent la façon dont le composant s’affiche, sans modifier son comportement.
PropriétéTypePar défautDescription
hideHeaderbooleanfalseMasque l’en-tête du composant (titre et description).
readOnlybooleanfalseDésactive toutes les actions de modification (inscription et suppression). Les facteurs sont affichés, mais ne peuvent être ni ajoutés ni supprimés.
showActiveOnlybooleanfalseAffiche uniquement les types de facteurs pour lesquels l’utilisateur possède au moins une inscription active. Les types de facteurs sans inscription sont masqués.
disableEnrollbooleanfalseMasque le bouton d’inscription pour tous les types de facteurs. Les utilisateurs peuvent tout de même supprimer les facteurs existants.
disableDeletebooleanfalseMasque le bouton de suppression dans toutes les lignes de facteurs inscrits. Les utilisateurs peuvent tout de même inscrire de nouveaux facteurs.
factorConfigPartial
<Record<MFAType,
{ visible?: boolean;
enabled?: boolean }>>
{}Visibilité et état d’activation par type de facteur.
factorConfig Utilisez factorConfig pour afficher ou griser certains types de facteurs sans modifier la configuration du tenant. Chaque clé est une string correspondant à un type de facteur; les deux champs sont facultatifs et ont la valeur true par défaut. Clés de types de facteurs prises en charge : phone, totp, email, push-notification, webauthn-platform, webauthn-roaming, recovery-code.
  • visible affiche la ligne du facteur dans la liste (false pour la masquer).
  • enabled rend la ligne du facteur interactive (false l’affiche grisée et non interactive).

Propriétés d’Action

Les propriétés d’Action permettent de s’intégrer aux événements du cycle de vie d’inscription et de suppression du composant, ainsi que de déclencher ou d’annuler des opérations.
PropriétéTypeDescription
enrollActionComponentAction<MFAType>Hooks du cycle de vie de l’inscription d’un facteur. Définissez disabled: true pour désactiver l’action d’inscription.
deleteActionComponentAction<MFAType>Hooks du cycle de vie de la suppression d’un facteur. Définissez disabled: true pour désactiver l’action de suppression.
enrollAction Utilisez onBefore pour annuler l’inscription avant le début du flow. Utilisez onAfter pour actualiser l’interface utilisateur associée ou envoyer des données analytiques une fois l’inscription réussie.
deleteAction Utilisez onBefore pour annuler la suppression avant que la boîte de dialogue de confirmation intégrée s’affiche. onAfter s’exécute après la suppression réussie d’un facteur.

Personnaliser les propriétés

Les propriétés de personnalisation vous permettent d’adapter le texte, les règles de validation et le style sans modifier le code source.
PropriétéTypeDescription
customMessagesPartial<UserMfaManagementMessages>Remplace le texte et les traductions par défaut de l’interface utilisateur.
stylingComponentStyling<UserMFAManagementClasses>Variables CSS et remplacements de classes.
schema{ email?: RegExp; phone?: RegExp }Modèles de validation personnalisés pour les champs de saisie d’adresse courriel et de numéro de téléphone.
customMessages Personnalisez tous les textes et toutes les traductions. Chaque champ est facultatif.
En-tête header.title, header.description, no_active_mfa, loading_text, component_error.title, component_error.descriptionActions actions.remove_button_label, actions.cancel_button_label, actions.confirm_button_label, actions.continue_button_label, actions.submit_button_label, actions.verify_button_label, actions.back_button_label, actions.deleting_button_text, actions.menu_aria_labelPar type de facteur (remplacez {factor} par phone, totp, email, push-notification, webauthn-platform, webauthn-roaming ou recovery-code) factors.{factor}.title, factors.{factor}.description, factors.{factor}.button_textInscription et suppression enrollment et remove_factor_dialog
Personnaliser le style Personnalisez l’apparence à l’aide de variables CSS et de surcharges de classes. Prend en charge les thèmes clair et sombre.
Variables—propriétés CSS personnalisées
  • common S’applique aux deux thèmes
  • light Mode clair seulement
  • dark Mode sombre seulement
Surcharges de classes
  • UserMFAManagement-item conteneur de chaque carte de type de facteur
  • EnrollFactorModal-dialogContent zone de contenu de la boîte de dialogue d’inscription à plusieurs étapes
  • FactorDeleteModal-dialogContent zone de contenu de la boîte de dialogue de confirmation de suppression
schema Remplacez les motifs d’expression régulière intégrés utilisés pour valider les données saisies par l’utilisateur lors de l’inscription. Les deux champs sont facultatifs ; les champs non définis conservent leurs motifs par défaut.
  • email valide l’adresse courriel saisie lors de l’inscription par OTP par courriel (par défaut : motif standard de type RFC 5322).
  • phone valide le numéro de téléphone saisi lors de l’inscription par SMS (par défaut : accepte le format international E.164).

Définitions TypeScript

Personnalisation avancée

En plus de la configuration du composant décrite ci-dessus, utilisez le hook useUserMFA pour créer une interface personnalisée de gestion de l’AMF.
Le hook accepte showActiveOnly, readOnly, disableDelete, factorConfig, customMessages, enrollAction et deleteAction. Il renvoie les données des facteurs, l’état du chargement et des actions, l’état de l’inscription et de la suppression, ainsi que les gestionnaires nécessaires pour mettre en œuvre les flux d’inscription, de vérification et de suppression. Utilisez UserMFAManagement si vous souhaitez utiliser l’interface intégrée. Si vous utilisez le hook, mettez en œuvre l’interface utilisateur correspondante pour l’inscription, la vérification, les codes de récupération et la suppression des types de facteurs que vous prenez en charge.
onAfter dans enrollAction et deleteAction s’exécute lorsque la notification de réussite se ferme, plutôt qu’immédiatement après la fin de l’action.

En savoir plus

Gestion des clés d’accès des utilisateurs

Gérez les clés d’accès WebAuthn selon le même cycle de vie.

Créer une interface libre-service de sécurité du compte

Aperçu, prérequis et configuration du framework pour tous les composants My Account.