Délégation de l'authentification au CAS et support de l'authentification forcée

L'authentification forcée (forced authentication en anglais), est une fonctionnalité de SAML, qui permet à un SP de demander à l'IdP de réauthentifier l'utilisateur - même si celui-ci dispose déjà d'une session SSO.
Les SP liés à ERASMUS font ce type de demande.

Si votre IdP ne délègue pas l'authentification (à un CAS par exemple), vous n'êtes normalement pas impacté.
Par contre, si votre IdP délègue au CAS, il utilise le plugin authn/External qui ne supporte pas l'authentification forcée.

Ca dépend de votre version d'IdP.
Pour plus de détails : https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631607/ExternalAuthnConfiguration.

il faut ajouter/mettre à jour la propriété idp.authn.External.forcedAuthenticationSupported dans le fichier /opt/shibboleth-idp/conf/authn/authn.properties :

/opt/shibboleth-idp/conf/authn/authn.properties
...
#### External ####
...
idp.authn.External.forcedAuthenticationSupported = true
...

Si vous êtes en IDP 4.0, nous vous incitons à migrer en IDP 4.1. La procédure est normalement simple : https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631513/Upgrading#Upgrading-to-V4.1-and-Beyond.


Voici malgré tout les indications pour activer l'authentification forcée avec le plugin authn/External.
Il faut éditer le fichier /opt/shibboleth-idp/conf/authn/general-authn.xml :

/opt/shibboleth-idp/conf/authn/general-authn.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans ...>
  ...
  <util:list id="shibboleth.AvailableAuthenticationFlows">
    ...
    <bean id="authn/External" parent="shibboleth.AuthenticationFlow"
      p:nonBrowserSupported="false" 
      p:forcedAuthenticationSupported="true" /> <!-- Attribut à ajouter -->
    ...
  </util:list>
  ...
</beans>

Nous n'avons pas connaissance que l'IdP 3.4 avec délégation au CAS soit sujet à ce problème.

  • Dernière modification : 2023/04/06 15:35