Child pages
  • MFA Esup OTP

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Cette page permet de mettre en place le projet MFA Esup OTP afin que les utilisateurs puissent avoir à disposition un système de MFA personnalisable en fonction de leur attente. Ce projet permet aussi de proposer une interface admin afin de gérer les personnalisations et les révocations d’accès.

Ce projet est composé de :


Une présentation de 5 min (Lightning Talk) dédiée à ce projet a été donnée dans le cadre d'Open Apereo 21 : elle est disponible ICI.

 

Voir Configuration Multifactor Authentication (MFA) pour le mettre en place.

Code Block
languagegroovy
title$home/cas/build.gradle
dependencies {  
  compile "org.apereo.cas:cas-server-webapp:${project.'cas.version'}@war"
  // A cause d'un bug, cette ligne doit être mis en tête des dépendances dans la liste
  compile 'com.github.EsupPortail:cas-server-support-esupotp:v0.1'
  ...
}

 

La config minimal:

Code Block
title$home/etc/cas/config/cas.properties
...  
# MFA - google authenticator
cas.authn.mfa.globalProviderId=mfa-esupotp
 
##
# Esup Otp Authentication
#
cas.mfa.esupotp.rank =0
cas.mfa.esupotp.urlApi=https://localhost/esupopt-api
cas.mfa.esupotp.usersSecret=changeit
cas.mfa.esupotp.apiPassword=changeit
 
cas.messageBundle.baseNames=classpath:custom_messages,classpath:messages,classpath:esupotp_message


Code Block
languagejs
title$home/cas/src/main/resources/services/mfaesupotp.json
{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|imaps)://.*",
  "name" : "pam",
  "id" : 9999,
  "description" : "Mfa esup otp",
  "evaluationOrder" : 9999,
  "multifactorPolicy" : {
    "@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy",
    "multifactorAuthenticationProviders" : [ "java.util.LinkedHashSet", [ "mfa-esupotp" ] ]
  }
}

 

Attention: Il sera nécessaire de mettre en place aussi l'API et l'interface web d'administration. De plus une application téléphone en association avec ESUP-otp est disponible afin de recevoir les notifications.