Passer au contenu principal
Ces personnalisations ne s’appliquent pas à Duo, qui possède sa propre interface utilisateur.
Vous pouvez personnaliser les pages qui s’affichent pour vos utilisateurs en ajustant les options d’image de marque d’ dans la section Paramètres Universal Login de l’. Si vous utilisez l’expérience Universal Login, vous pouvez personnaliser la page à l’aide de ses options de personnalisation du flux. Vous pouvez également personnaliser l’intégralité du contenu HTML pour répondre aux exigences particulières de votre organisation en matière d’expérience utilisateur. Pour en savoir plus, consultez Options de thème du widget MFA. Avec l’expérience Universal Login, l’authentification MFA est présentée à l’utilisateur de façon encore plus simple. Une fois qu’il a saisi ses identifiants pour se connecter, l’écran MFA s’affiche. S’il n’a aucun facteur MFA inscrit, il sera invité à en inscrire un; sinon, il sera invité à fournir son justificatif MFA.

Utiliser l’API MFA

Auth0 fournit une API MFA pour les scénarios suivants : Pour utiliser l’API MFA, vous devez activer le type d’octroi MFA pour votre application. Pour activer l’octroi MFA dans l’Auth0 Dashboard :
  1. Accédez à Auth0 Dashboard > Applications > Applications et sélectionnez votre application.
  2. Au bas de l’onglet Settings, cliquez sur Advanced Settings.
  3. Cliquez sur l’onglet Grant Types et sélectionnez MFA.
    Dashboard Applications Applications Advanced Settings Grant Types tab
    Pour en savoir plus, consultez Activer l’authentification multifacteur.
  4. Cliquez sur Save Changes.

Limites

L’API MFA est conçue pour fonctionner avec les SMS, les notifications poussées de l’application Guardian, le courriel et les facteurs OTP. Elle ne prend pas en charge l’inscription avec Duo.

Personnaliser la stratégie MFA avec Actions

Vous pouvez utiliser Actions pour personnaliser la stratégie MFA de votre locataire, notamment pour exiger la MFA pour les utilisateurs de certaines applications, les utilisateurs ayant des métadonnées utilisateur particulières ou des plages d’adresses IP spécifiques, et plus encore. Si vous ne savez pas encore comment créer des Actions, consultez Créer votre première Action.
Tout comportement lié à la MFA défini dans Actions prévaut sur les paramètres Définir la stratégie configurés dans la section Authentification multifacteur de l’Auth0 Dashboard.Pour en savoir plus, consultez Activer l’authentification multifacteur.
Lorsque vous rédigez des Actions, vous pouvez utiliser le paramètre provider pour préciser s’il faut imposer la MFA et quel facteur utiliser. Le comportement diffère selon que vous utilisez l’expérience Classic Login ou Universal Login :
ProviderExpérience ClassicNouvelle expérience
anyPush, SMS ou OTPPush, SMS, appel vocal, OTP, courriel ou clé de sécurité WebAuthn (lorsqu’activée)
guardianPush, SMS ou OTPPush, SMS, OTP ou courriel
google-authenticatorGoogle AuthenticatorPush, SMS, OTP ou courriel
duoDuoDuo
Si vous utilisez Universal Login, vous pouvez obtenir le comportement de l’expérience Classic Login en activant la personnalisation de la page de connexion MFA.
Les options guardian et google-authenticator sont des paramètres anciens conservés pour des raisons de rétrocompatibilité et ne devraient plus être utilisées. Nous recommandons d’utiliser any à la place. L’option google-authenticator ne permet pas aux utilisateurs d’inscrire un code de récupération.
Définir manuellement provider sur une option précise remplace les interrupteurs d’activation ou de désactivation dans l’Auth0 Dashboard. Vous pouvez utiliser l’Action suivante pour demander à l’utilisateur de s’inscrire à Duo même si d’autres facteurs sont activés dans l’Auth0 Dashboard :
exports.onExecutePostLogin = async (event, api) => {
    // Forcer le fournisseur sur Duo par programmation
    api.multifactor.enable('duo')
}

Exemples de cas d’utilisation courants

Voici quelques scénarios courants de MFA contextuelle qui peuvent être gérés par Actions.
Pour vous assurer que votre locataire n’applique la MFA que lorsque vous l’exigez explicitement dans vos Actions, définissez la stratégie MFA par défaut de votre locataire sur Never.Pour en savoir plus, consultez la section « Stratégies » de Facteurs d’authentification multifacteur.

Exiger la MFA pour certaines applications

Vous pouvez configurer la MFA pour qu’elle se déclenche uniquement lorsque les utilisateurs se connectent à certaines applications.
exports.onExecutePostLogin = async (event, api) => {
	const CLIENTS_WITH_MFA = [
		'{yourClientId1}', 
		'{yourClientId2}',
		'{yourClientId3}'
	];

	if (CLIENTS_WITH_MFA.includes(event.client.client_id)) {
		api.multifactor.enable('duo', { allowRememberBrowser: false })
	}
}

Exiger la MFA pour certains utilisateurs

Vous pouvez personnaliser la MFA afin qu’elle se déclenche uniquement pour les utilisateurs désignés comme devant l’utiliser.
exports.onExecutePostLogin = async (event, api) => {
  if (event.user.user_metadata && event.user.user_metadata.use_mfa) {
    api.multifactor.enable('duo', { allowRememberBrowser: false });
  }
}

Modifier la fréquence des demandes de MFA

Dans certains cas, vous pourriez ne pas vouloir demander à l’utilisateur d’effectuer la MFA chaque fois qu’il ouvre une session dans le même navigateur. Vous pouvez modifier ce comportement à l’aide de la propriété allowRememberBrowser :
exports.onExecutePostLogin = async (event, api) => {  
  api.multifactor.enable('any', { allowRememberBrowser: false });
}
Selon la valeur de la propriété, le comportement sera le suivant :
ValeurDescription
trueLorsque provider est défini sur google-authenticator ou duo, l’utilisateur doit effectuer la MFA une fois tous les 30 jours. Lorsque provider est défini sur guardian, l’invite MFA affiche la case à cocher d’inscription afin que les utilisateurs puissent choisir de s’inscrire ou non. La valeur par défaut est false. Pour en savoir plus, consultez Personnaliser les pages d’authentification multifacteur
falseL’utilisateur doit effectuer la MFA chaque fois qu’il s’authentifie.
Les valeurs de temps s’appliquent aux utilisateurs actifs. Si un utilisateur est inactif pendant une période de sept jours ou plus, son témoin expirera et il devra effectuer la MFA à sa prochaine tentative de connexion (que allowRememberBrowser soit défini sur true ou non, et même si 30 jours ne se sont pas écoulés depuis sa dernière invite MFA). Lorsque vous permettez à l’utilisateur d’ignorer la MFA, un témoin est stocké dans le navigateur de l’utilisateur. Si le témoin est présent, mais que vous souhaitez tout de même exiger la MFA, vous avez deux options :
  • Définir allowRememberBrowser sur false
  • Définir acr_values sur http://schemas.openid.net/pape/policies/2007/06/multi-factor lors de l’appel au point de terminaison /authorize.
Si un utilisateur perd un appareil de confiance, vous pouvez exiger la MFA pour cet utilisateur à sa prochaine connexion en appelant le point de terminaison Auth0 Invalidate Remember Browser.

Exiger l’authentification multifacteur (MFA) pour les utilisateurs à l’extérieur du réseau

Si l’accès au réseau interne correspondant aux adresses IP spécifiées est bien contrôlé, vous pouvez aussi configurer Auth0 pour qu’il demande la MFA uniquement aux utilisateurs dont les requêtes proviennent de l’extérieur du réseau d’entreprise :
exports.onExecutePostLogin = async (event, api) => {
  const ipaddr = require('ipaddr.js@1.9.0');
  const corp_network = '192.168.1.134/26';
  const current_ip = ipaddr.parse(event.request.ip);

  if (!current_ip.match(ipaddr.parseCIDR(corp_network))) {
    api.multifactor.enable('any', {allowRememberBrowser: false});
  }
}

Contourner la MFA pour les requêtes de jeton d’actualisation

Si vos utilisateurs signalent des déconnexions fréquentes, vous devrez peut-être contourner la MFA pour les requêtes de . Vous pouvez modifier le comportement par défaut au moyen d’une Action de filtre appliquée à la propriété d’objet event.transaction.protocol.
exports.onExecutePostLogin = async (event, api) => {
  if (event.transaction.protocol !== 'oauth2-refresh-token') {
    // Commandes liées à la MFA ici
    api.multifactor.enable('any');
  }
};
Pour en savoir plus sur l’objet event d’une Action, consultez Déclencheurs des Actions : post-login - objet d’événement.

Pour en savoir plus