CAS

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.

...

On y voit alors le REMOTE_USER de positionné, mais aussi des OIDC_CLAIM_* dont OIDC_CLAIM_attributes regroupant l'ensemble des attributs renvoyés (sous forme de json).

Ajustement script groovy déclenchement MFA - récupération de l'IP cliente

Lors de la migration sur ce nouveau CAS, il a fallut ajuster notre script groovy déclenchant la MFA (script donné derrière la configuration cas.authn.mfa.groovy-script.location ).

Notre script tient compte notamment de l'IP du client pour déclencher ou non la MFA.

On récupérait jusque là cette IP par httpRequest.getRemoteAddr() - cependant ce script est maintenant aussi appelé lors de la validation du ticket par le service CAS. L'IP est alors l'ip du service et non pas du client/usager.

En ne demandant pas la MFA pour un client donné (au preimer appel) mais en la demandant lors de la validation du ticket, nous récupérions une erreur de type invalid_authentication_context côté du service lors de la validation du ticket.

Pour récupérer l'IP du client/usager, il faut donc utiliser dans le script groovy.

Bloc de code
def ip = authentication.attributes["clientIpAddress"].get(0)

et non pas (plus pour nous)

Bloc de code
def ip = httpRequest.getRemoteAddr()

Cette revalidation du fait que le client doit ou non passer par la (une) MFA (réexcéution du script groovy) lors de la validation du ticket est apparue entre la 6.4.6.6 et la 6.6.9