Questions & réponses concernant le service de découverte (WAYF)
Qu'est-ce qu'un service de découverte ?
Dans une fédération gérée avec Shibboleth, le cercle de confiance des participants comporte à la fois des SP (fournisseurs de services) et des IdP (fournisseurs d'identités). Lorsqu'un utilisateur accède à une ressource numérique comportant un SP, cette brique logicielle doit déterminer quel IdP sera à même d'authentifier cet utilisateur.
Le rôle du service de découverte (discovery service ou DS, connu également en tant que WAYF -Where Are You From?) est justement d'orienter l'utilisateur vers son organisme de rattachement, qui se trouve être également son IdP dans la fédération. Les implémentations actuelles de DS consistent toutes en une interaction avec l'utilisateur ; celui-ci sélectionne son IdP parmi une liste.
Quelle implémentation du WAYF dois-je utiliser ?
L'architecture initiale de Shibboleth considéraient la brique WAYF comme un service central de la fédération, opéré par l'organisme qui gère l'enregistrement dans la fédération. Il est aujourd'hui admis que cette architecture n'est pas la bonne, le WAYF est idéalement intégré à la brique SP. Parmi les raisons qui justifient cette architecture :
- Une meilleure tolérance aux pannes. Un WAYF central en panne paralyserait tous les services utilisateurs de la fédération.
- Une meilleure ergonomie. Un SP ne propose pas forcément ses services à tous les IdP ; c'est donc lui seul qui peut définir la liste des IdP potentiels.
Il existe principalement deux implémentations de WAYF :
- le WAYF fourni par Internet2 : https://spaces.internet2.edu/display/SHIB/DiscoveryService ;
- le WAYF de SWITCH : http://www.switch.ch/aai/support/tools/wayf.html . Cette application est écrite en PHP ; il offre l'avantage de mieux gérer les sessions utilisateurs.
La solution qui offre le meilleur niveau d'intégration consiste à dédier un WAYF à votre application. La fonctionnalité de lazy sessions du SP permet de déclencher l'authentification Shibboleth à l'initiative de l'application, l'application pouvant sélectionner l'IdP cible.
Vous pouvez utiliser le WAYF de RENATER dans la fédération Éducation-Recherche : https://discovery.renater.fr/renater ou le WAYF de la fédération de test : https://discovery.renater.fr/test. Cependant il n'y a pas de garantie sur la disponibilité et la pérennité de ce service.