Exemples de cas d’utilisation - Règles avec authentification sans mot de passe

Avec des règles, vous pouvez gérer des cas plus compliqués qu’avec les connexions sans mot de passe. Par exemple, vous pouvez ajouter des précautions supplémentaires pour assurer la possession d’une adresse courriel ou d’un appareil.

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

Supposons que vous vouliez exiger une authentification multifacteur (MFA) pour tous les utilisateurs qui accèdent à l’application en utilisant une connexion sans mot de passe depuis l’extérieur de votre réseau d’entreprise.

En utilisant une règle, vous pouvez vérifier si un utilisateur s’authentifie à l’aide d’une méthode sans mot de passe (sms, email) et si son IP de session se trouve en dehors du réseau d’entreprise désigné, lui demander un deuxième facteur d’authentification.

Pour ce faire, vous devez créer la règle suivante :

function(user, context, callback) {
  const ipaddr = require('ipaddr.js');
  const corp_network = "192.168.1.134/26";
  const current_ip = ipaddr.parse(context.request.ip);
  // is auth method passwordless and IP outside corp network?
  const passwordlessOutside = context.authentication.methods.find(
    (method) => (
      ((method.name === 'sms') || (method.name === 'email')) && 
      (!current_ip.match(ipaddr.parseCIDR(corp_network)))
    )
  );

  // if yes, then require MFA
  if (passwordlessOutside) {
    context.multifactor = {
      provider: 'any',
      allowRememberBrowser: false
    };
  }
  callback(null, user, context);
}

Was this helpful?

/