Single Logout

Documentation :

La gestion du Single Logout (SLO) est complexe à mettre en oeuvre dans un environnement global comme la fédération d'identités. Le workflow de Single Logout devrait conprendre les étapes suivantes :

  1. initialisation du logout au niveau d'un SP,
  2. propagation du logout à l'IdP d'origine de l'utilisateur,
  3. propagation du logout à tous les autres SPs auprès desquels l'utilisateur s'est connecté,
  4. propagation du logout à toutes les applications protégées par ces SPs, si elles ne dépendent pas (non couplées) de la session du SP.

Le logiciel Shibboleth n'implémente que partiellement le Single Logout : les étapes (3) et (4) ne sont pas gérées, voir le document Difficulties of Single Logout mentionné ci-dessus pour plus de précisions.

Shibboleth IdP 3.x : l'IdP Shibboleth 3.x semble capable de gérer la propagation du logout à d'autres SP. Par contre cette fonctionnalité nécessite des adaptations dans la configuration de l'IdP et la publication de points d'accès de type SLO pour les SP dans les méta-données SAML. Actuellement le guichet fédération de RENATER ne propose pas la collecte/publication des points d'accès SLO pour les SP. Voir la documentation pour IdP Shibboleth 3.x

RENATER n'a pas testé le fonctionnement du Logout avec les IdP 3.x.

Conditions pour pouvoir utiliser le Single Logout

Pour que le Single Logout (étapes (1) et (2)) fonctionne voici les pré-requis :

  • le SP doit être capable de contacter les points d'accès SLO de l'IdP. Le SP Shibboleth l'implémente à partir de la version 2.5.0 (aout 2012);
  • l'IdP doit implémenter le SLO. L'IdP Shibboleth l'implémente à partir de la version 2.4.0 (avril 2013) ;
  • les méta-données de l'IdP doivent inclure les points d'accès de type SLO. Le guichet de la fédération de RENATER gère la publication de ces informations à partir de sa version 2.2 (Juillet 2015).

Déclencher le single logout au niveau du SP

Le logout est déclenché par l'URL de logout /Shibboleth.sso/Logout au niveau du SP, puis automatiquement propagé à l'IdP si les méta-données de l'IdP mentionnent des endpoints de logout. Voir cet exemple https://test-idp.federation.renater.fr/idp/shibboleth

Activer le single logout au niveau de l'IdP

La fonction de Single Logout est activable au niveau de votre IdP si vous utilisez une version de l'IdP Shibboleth 2.4.0 ou plus récente.

Vous devez vous assurer que la fonctionnalité de single logout est activée :

| relying-party.xml
<ProfileConfiguration xsi:type="saml:SAML2LogoutRequestProfile" signResponses="conditional"/>

Vous devez ensuite déclarer les URLs de Single Logout de votre IdP auprès du guichet de la fédération, comme présenté dans cette copie d'écran :

Vous devez prévoir un temps de propagation de ces informations dans les méta-données de la fédération, puis auprès des SPs utilisant ces méta-données.

Mode de fonctionnement du single logout

En se déconnectant d'un SP l'utilisateur est redirigé vers la fonction de Single logout de son IdP.

La page de logout par défaut de l'IdP fournit la liste des SP auprès desquels l'utilisateur courant s'était connecté. Mais l'IdP ne propage pas le logout à ces autres SPs.



La page générique proposée par l'IdP n'est pas forcément idéale. N'hésitez pas à la personnaliser selon la charte de votre établissement avec les explications que vous jugerez pertinentes pour vos utilisateurs.