auth0-mfa

À utiliser lors de l'ajout de MFA, 2FA, TOTP, codes SMS, notifications push, passkeys, ou lorsqu'une vérification step-up est requise pour des opérations sensibles ou pour répondre à des exigences de conformité (HIPAA, PCI-DSS) — couvre l'authentification adaptative et basée sur le risque avec Auth0.

npx skills add https://github.com/auth0/agent-skills --skill auth0-mfa

Guide Auth0 MFA

Ajoutez l'authentification multifacteur pour protéger les comptes utilisateur et exiger une vérification supplémentaire pour les opérations sensibles.


Aperçu

Qu'est-ce que MFA ?

L'authentification multifacteur (MFA) oblige les utilisateurs à fournir deux facteurs de vérification ou plus pour accéder à leurs comptes. Auth0 supporte plusieurs facteurs MFA et permet l'authentification progressive pour les opérations sensibles.

Quand utiliser cette skill

  • Ajouter MFA pour protéger les comptes utilisateur
  • Exiger une vérification supplémentaire pour les actions sensibles (paiements, modifications de paramètres)
  • Implémenter une authentification adaptative/basée sur le risque
  • Respecter les exigences de conformité (PCI-DSS, SOC2, HIPAA)

Facteurs MFA supportés

Facteur Type Description
TOTP Something you have Mots de passe à usage unique basés sur le temps (Google Authenticator, Authy)
SMS Something you have Codes à usage unique par SMS
Email Something you have Codes à usage unique par email
Push Something you have Notifications push via l'application Auth0 Guardian
WebAuthn Something you have/are Clés de sécurité, biométrie, passkeys
Voice Something you have Codes à usage unique par appel téléphonique
Recovery Code Backup Codes de récupération à usage unique

Concepts clés

Concept Description
acr_values Demander MFA lors de l'authentification
amr claim Authentication Methods Reference - indique comment l'utilisateur s'est authentifié
Step-up auth Exiger MFA pour des actions spécifiques après la connexion initiale
Adaptive MFA Exiger MFA de manière conditionnelle en fonction des signaux de risque

Étape 1 : Activer MFA dans le tenant

Via le tableau de bord Auth0

  1. Allez à Security → Multi-factor Auth
  2. Activez les facteurs souhaités (TOTP, SMS, etc.)
  3. Configurez les Policies :
    • Always - Exiger MFA pour toutes les connexions
    • Adaptive - MFA basée sur le risque
    • Never - Désactiver MFA (utilisez step-up à la place)

Via Auth0 CLI

# Afficher la configuration MFA actuelle
auth0 api get "guardian/factors"

# Activer TOTP (mot de passe à usage unique)
auth0 api put "guardian/factors/otp" --data '{"enabled": true}'

# Activer SMS
auth0 api put "guardian/factors/sms" --data '{"enabled": true}'

# Activer les notifications push
auth0 api put "guardian/factors/push-notification" --data '{"enabled": true}'

# Activer WebAuthn (Roaming - Clés de sécurité)
auth0 api put "guardian/factors/webauthn-roaming" --data '{"enabled": true}'

# Activer WebAuthn (Platform - Biométrie)
auth0 api put "guardian/factors/webauthn-platform" --data '{"enabled": true}'

# Activer Email
auth0 api put "guardian/factors/email" --data '{"enabled": true}'

Configurer la policy MFA

# Définir la policy MFA : "all-applications" ou "confidence-score"
auth0 api patch "guardian/policies" --data '["all-applications"]'

Étape 2 : Implémenter l'authentification progressive

L'authentification progressive exige MFA pour les opérations sensibles sans l'exiger pour chaque connexion.

Le paramètre acr_values

Demandez MFA en incluant acr_values dans votre requête d'autorisation :

acr_values=http://schemas.openid.net/pape/policies/2007/06/multi-factor

Modèle d'implémentation

Le modèle général pour tous les frameworks :

  1. Vérifiez si l'utilisateur a déjà complété MFA (inspectez le amr claim)
  2. Si non, demandez MFA via le paramètre acr_values
  3. Procédez avec l'action sensible une fois MFA vérifié

Pour les exemples complets spécifiques à chaque framework, consultez le Guide des exemples :

  • React (basique et custom hook)
  • Next.js (App Router)
  • Vue.js
  • Angular

Ressources supplémentaires

Cette skill est divisée en plusieurs fichiers pour une meilleure organisation :

Exemples d'authentification progressive

Exemples de code complets pour tous les frameworks :

  • React (modèles basiques et custom hook)
  • Next.js (App Router avec routes API)
  • Vue.js (Composition API)
  • Angular (services et composants)

Validation backend

Apprenez à valider le statut MFA sur votre backend :

  • Validation JWT Node.js / Express
  • Validation Python / Flask
  • Exemples de middleware

Sujets avancés

Modèles avancés d'implémentation MFA :

  • MFA adaptative avec Auth0 Actions
  • MFA conditionnelle basée sur les signaux de risque
  • API d'inscription MFA

Guide de référence

Modèles courants et dépannage :

  • Mémoriser MFA pendant 30 jours
  • MFA pour les transactions de grande valeur
  • Affichage du statut MFA
  • Gestion des erreurs
  • Valeurs du claim AMR
  • Stratégies de test
  • Considérations de sécurité

Skills connexes

  • auth0-quickstart - Configuration de base Auth0
  • auth0-passkeys - Implémentation WebAuthn/passkey
  • auth0-actions - Logique d'authentification personnalisée

Références

Skills similaires