Passer au contenu principal
Auth0 Supplemental Signals est actuellement en accès anticipé.En utilisant cette fonctionnalité, vous acceptez les conditions applicables de la période d’essai gratuite prévues dans la Convention principale d’abonnement d’Okta. Pour en savoir plus sur les phases de diffusion des produits Auth0, consultez la page Phases de diffusion des produits.
Avant de commencerPour utiliser les signaux supplémentaires Akamai dans les Actions, vous devez :
Si vous avez configuré Akamai comme serveur proxy inverse et l’avez paramétré pour envoyer des signaux supplémentaires à Auth0, vous pouvez utiliser les données fournies dans ces signaux dans les Actions Auth0.

Signaux supplémentaires pris en charge par déclencheur d’Action

DéclencheurObjets de signaux supplémentairesObjet d’événement
Connexion
  • akamaiBot
  • akamaiUserRisk
authentication.riskAssessment.supplemental.akamai
Préinscription de l’utilisateurAucunS.O.
Post-inscription de l’utilisateurAucunS.O.
Envoyer un message téléphoniqueAucunS.O.
Post-challengeAucunS.O.
Post-changement de mot de passeAucunS.O.
Échange d’identifiantsAucunS.O.

Schémas d’objets de signaux supplémentaires

Les objets akamaiBot et akamaiUserRisk contiennent plusieurs propriétés que vous pouvez utiliser pour personnaliser votre flux d’authentification.
akamaiBot
object
akamaiUserRisk
object

Cas d’utilisation

Voici un exemple de la façon dont vous pouvez révoquer une session en fonction de la propriété akamaiUserRisk.score :
exports.onExecutePostLogin = async (event, api) => {
  const userRiskHeader = event.authentication?.riskAssessment?.supplemental?.akamai?.akamaiUserRisk;
  if (userRiskHeader?.score && userRiskHeader?.score >= 90) {
        console.log('User is deemed high risk.');
        // This will revoke session cookies to deny login.
        api.session.revoke('Session revoked, User risk score is greater than 90.');
    }
};

Veuillez noter l’utilisation de la méthode api.session.revoke (par opposition à la méthode api.access.deny). L’utilisation de la méthode revoke garantit que si l’utilisateur rafraîchit l’application, les signaux supplémentaires d’Akamai sont envoyés avec la requête d’authentification et que le flux d’Action post-connexion est déclenché.
Voici un exemple de la façon dont vous pouvez imposer l’AMF en fonction de la propriété akamaiBot.score.

Imposer l’AMF

Cette Action effectue deux tâches :
  1. Mettre à jour les métadonnées d’application : Si la propriété score dépasse une valeur donnée, consignez que l’AMF est requise pour la session.
  2. Exiger l’AMF : Si la propriété score dépasse une valeur donnée ou s’il existe un enregistrement dans les métadonnées d’application indiquant que l’AMF est requise pour la session, imposez l’AMF.
exports.onExecutePostLogin = async (event, api) => {
  const userRiskHeader = event.authentication?.riskAssessment?.supplemental?.akamai?.akamaiUserRisk;

  if (userRiskHeader?.score && userRiskHeader?.score >= 90) {
    console.log(`Setting app metadata for session id: ${event.session?.id}`);
    api.user.setAppMetadata(`mfa_required_${event.session?.id}`, true);
  }

  if (userRiskHeader?.score && userRiskHeader?.score >= 90 ||
      event.user.app_metadata[`mfa_required_${event.session?.id}`]) {
        console.log(`Requiring MFA FOR Session id: ${event.session?.id}`);
        api.multifactor.enable('any', {allowRememberBrowser: false});
  }
};

Nettoyer les métadonnées d’application

Cette Action supprime, des métadonnées d’application, les informations liées à l’AMF propres à une session après que l’utilisateur a réussi l’AMF.
exports.onExecutePostLogin = async (event, api) => {
  const mfaMethod = event.authentication?.methods.find((method) => {
    return method.name === 'mfa';
  });

  if (mfaMethod) {
    console.log(`Removing MFA requirement for session id: ${event.session?.id}`);
    api.user.setAppMetadata(`mfa_required_${event.session?.id}`, undefined);
  }
};