Il n'est pas nécessaire de faire partie d'une fédération (cercle de confiance) pour utiliser le logiciel Shibboleth. Si vous disposez d'un fournisseur de services (SP) et d'un fournisseur d'identités (IdP), vous pouvez définir une confiance mutuelle entre ces deux briques.
Nous allons donc dans cette partie, configurer une relation de confiance entre votre IdP et un service de test non fédéré. Comme vous ne disposez pas encore d'un SP à ce stade du TP, nous avons préparé un SP local qui sera utilisé uniquement dans cette partie du TP.
Dans le cadre d'une relation bilatérale, votre IdP doit faire confiance à un SP. Pour ce faire, il doit connaitre les méta-données du SP. Le SP Shibboleth expose ses méta-données de manière dynamique via l'adresse https://formsfede-014.renater.fr/sp-ABC/Shibboleth.sso/Metadata. Les informations concernant ce SP vous seront transmises pendant la formation.
Nous allons donc configurer l'IdP pour faire confiance à ce SP en éditant le fichier metadata-provider.xml
comme suit:
[...] <MetadataProvider id="SPFORMATION" xsi:type="FileBackedHTTPMetadataProvider" backingFile="%{idp.home}/metadata/spformation.xml" disregardTLSCertificate="true" ** metadataURL="https://formsfede-014.renater.fr/sp-ABC/Shibboleth.sso/Metadata">** </MetadataProvider>
Pour prendre en compte cette modification, il y a 3 options:
bin/reload-service.sh
bin/reload-metadata.sh
Nous choisissons ici la deuxième option:
$> /opt/shibboleth-idp/bin/reload-service.sh -id shibboleth.MetadataResolverService Configuration reloaded for 'shibboleth.MetadataResolverService'
Vous pouvez verifier que le fichier de métadonnées est bien présent dans :
$> ls -l /opt/shibboleth-idp/metadata/ -rw-r--r-- 1 tomcat root 15072 06 mai 16:35 idp-metadata.xml -rw-r--r-- 1 tomcat tomcat 8419 06 mai 17:04 spformation.xml
https://mon-poste.fr/idp/shibboleth
/opt/shibboleth-idp/metadata/idp-metadata.xml
Rendez-vous sur https://formsfede-014.renater.fr/sp-ABC.
Cliquez sur Connexion. Si vous rencontrez une page d'erreur de ce type, c'est normal :
En effet, le fichier /opt/shibboleth-idp/metadata/idp-metadata.xml
est généré lors de l'installation de l'IDP, mais n'est volontairement pas exploitable directement par un SP.
En effet, une balise XML indique une date de validité de ces méta-données. Cette date de validité est positionnée à la date d'installation.
Pour résoudre le problème, il est nécessaire d'éditer le fichier afin de modifier la validité - ou de supprimer la balise.
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui" xmlns:req-attr="urn:oasis:names:tc:SAML:protocol:ext:req-attr" **validUntil="2020-09-15T14:07:20.803Z"** entityID="https://formsfede-027.renater.fr/idp/shibboleth">
Une fois cette mmise à jour effectuée (inutile de redémarrer Tomcat), et quand le SP aura pris en compte la mise à jour, vous pourrez accéder à https://formsfede-014.renater.fr/sp-ABC.
Si tout s'est bien passé, voici ce que vous devez obtenir en cliquant sur le bouton de connexion :
Vous arrivez sur la page de login de l'IDP.
Vous pouvez observer les échanges réseau lors du clic sur Connexion avec SAMLTracer ou avec la console de développement de votre navigateur (F12 avec Firefox).
Pour se connecter, il va maintenant falloir que l'IDP soit configuré pour exploiter une base d'utilisateurs, généralement contenue dans un annuaire LDAP.