ESUP-OTP

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Bloc de code
languagejava
import java.util.*
import org.apereo.cas.interrupt.InterruptResponse

def run(principal, attributes, service, registeredService, requestContext, logger, ... args) {
    def ctx = org.apereo.cas.util.spring.ApplicationContextProvider.getApplicationContext()
    def esupOtpService = ctx.getBean("esupOtpService")
    def esupOtpUserInfos = esupOtpService.getUserInfos(principal.id)
    def esupOtpMethods = esupOtpUserInfos.get("user").get("methods").toMap().values()
    def oneMfaMethodIsActive = esupOtpMethods.stream().anyMatch { method ->
        method instanceof Map && method.get("active")
    }
    if (!oneMfaMethodIsActive && !service.id.startsWith("https://esup-otp-manager.example.org/") {
        def message = "Vous n'avez pas encore activé votre authentification renforcée avec ESUP-OTP, il serait souhaitable de le faire."
        def links = ["AccéderApplication à ESUP-OTP pour activer l'authentification renforcée" : "https://esup-otp-manager.univ-villeexample.frorg/preferences"]
        def block = false
        def ssoEnabled = false
        return new InterruptResponse(message, links, block, ssoEnabled)
    }
    return null
}

...

  • Il interroge le service esupOtpService pour connaître les méthodes MFA activées de l’utilisateur.

  • Si aucune méthode n’est active et que le service désiré n'est pas esup-otp-manager  :

    • il affiche un message incitant à activer le MFA ; ce message est affiché dès la première authentification (TGT), mais aussi à chaque authentification sur chaque service (ST), ce grâce au ssoEnabled valué à false.

    • il fournit un lien vers l’interface de gestion des préférences MFA esup-otp-manager ;

    • tout en lui permettant tout de même d'accéder au service demandé, ce grâce au block valué à false.

  • Si au moins une méthode est active, aucun message n’est affiché.

...