Découvrez les Actions Password Reset Post Challenge, qui s’exécutent une fois qu’un utilisateur a réussi la première vérification du processus de réinitialisation du mot de passe, mais avant qu’il définisse un nouveau mot de passe.
Le déclencheur post-challenge s’exécute pendant le processus de réinitialisation du mot de passe, une fois qu’un utilisateur a réussi la première vérification, généralement un lien envoyé à l’adresse courriel de l’utilisateur, mais avant qu’un nouveau mot de passe soit défini. Utilisez ce déclencheur pour demander à l’utilisateur d’effectuer une vérification supplémentaire au moyen d’un facteur d’ (MFA), ou pour le rediriger vers un site externe, comme un vérificateur tiers. Après la vérification, l’utilisateur peut définir le nouveau mot de passe de son compte. Vous pouvez créer jusqu’à quatre Actions dans votre tenant qui utilisent le déclencheur post-challenge.
Les Actions de ce flux sont bloquantes (synchrones) : elles s’exécutent dans le cadre du processus du déclencheur et empêchent le reste du pipeline Auth0 de s’exécuter jusqu’à ce que l’Action soit terminée.
Pour que ces Actions s’exécutent correctement, vous devez avoir activé Universal Login. Ces Actions ne peuvent pas être déclenchées lorsque vous utilisez Classic Login.
Réinitialisation sécurisée du mot de passe avec des facteurs MFA supplémentaires
Une Action post-challenge peut déclencher une demande de vérification MFA après que l’utilisateur a réussi la première. Par exemple, vous pouvez déclencher une vérification basée sur WebAuthn comme facteur secondaire si WebAuthn est activé comme facteur dans votre tenant :
/** * @param {Event} event - Détails sur l'utilisateur qui réinitialise son mot de passe. * @param {PasswordResetPostChallengeAPI} api - Interface dont les méthodes permettent de modifier le comportement de la réinitialisation du mot de passe. */exports.onExecutePostChallenge = async (event, api) => { const enrolledFactors = event.user.enrolledFactors.map((x) => ({ type: x.type })); api.authentication.challengeWith({ type: 'webauthn-roaming' }, { additionalFactors: enrolledFactors });};
Rediriger les utilisateurs vers une application tierce
En plus d’une demande de vérification MFA, vous pouvez également ajouter une redirection dans l’Action personnalisée, par exemple vers un service de vérification tiers ou un évaluateur des risques. Cet exemple d’Action redirige l’utilisateur vers une application d’exemple, puis reprend l’Action après la redirection afin de demander à l’utilisateur de s’authentifier à l’aide d’un facteur MFA :
/** * @param {Event} event - Détails sur l'utilisateur qui réinitialise son mot de passe. * @param {PasswordResetPostChallengeAPI} api - Interface dont les méthodes permettent de modifier le comportement de la réinitialisation du mot de passe. */exports.onExecutePostChallenge = async (event, api) => { // Rediriger l'utilisateur vers https://my-app.example.com api.redirect.sendUserTo('https://my-app.example.com');};/** * @param {Event} event - Détails sur l'utilisateur qui réinitialise son mot de passe. * @param {PasswordResetPostChallengeAPI} api - Interface dont les méthodes permettent de modifier le comportement de la réinitialisation du mot de passe. */exports.onContinuePostChallenge = async (event, api) => { const enrolledFactors = event.user.enrolledFactors.map((x) => ({ type: x.type })); // Soumettre l'utilisateur à un challenge par OTP par courriel OU par un autre facteur enrôlé api.authentication.challengeWith({ type: 'email' }, { additionalFactors: enrolledFactors }); // Exemple de challenge proposant plusieurs options à l'utilisateur, // ici l'OTP par courriel OU l'OTP par SMS // api.authentication.challengeWithAny([{ type: 'email' }, { type: 'sms' }]);};
Le pipeline Actions est inactif pendant qu’Auth0 redirige l’utilisateur. Lorsque l’utilisateur reprend le processus de connexion Auth0, le pipeline Actions reprend son exécution. Les Actions exécutées avant la redirection ne sont pas exécutées de nouveau. Pour en savoir plus, consultez Redirection avec Actions.