Aller au contenu principal

Shibboleth

Découvrez les instructions étape par étape pour configurer une connexion avec Shibboleth Identity Provider. Apprenez comment intégrer votre application avec Shibboleth pour une authentification SSO sécurisée et simplifiée.

Pour commencer​

Intégration SSO Shibboleth avec Cryptr
  1. Connectez-vous au serveur qui héberge votre fournisseur d'identité Shibboleth.
  2. Ouvrez un terminal dans votre répertoire d'installation, généralement /opt/shibboleth-idp.

Fichier de métadonnées XML​

Intégration SSO Shibboleth avec Cryptr
  • Votre IdP publie ses métadonnées à l'adresse https://votre-idp.exemple.org/idp/shibboleth
  • Ouvrez cette URL et vérifiez que l'entityID correspond à celui de conf/idp.properties
  • Copiez l'URL, ou téléchargez le fichier si votre IdP n'est pas accessible depuis internet

Intégration SSO Shibboleth avec Cryptr

Collez l'URL de vos métadonnées puis cliquez sur "Soumettre".

Déclarer Cryptr comme Service Provider​

Intégration SSO Shibboleth avec Cryptr

Copiez l'"URL des métadonnées du SP" affichée dans la barre latérale de droite 👉 — c'est l'URL depuis laquelle votre fournisseur d'identité récupérera les métadonnées de Cryptr.


Intégration SSO Shibboleth avec Cryptr
  • Sur votre serveur IdP, éditez conf/metadata-providers.xml
  • Ajoutez un FileBackedHTTPMetadataProvider dont le metadataURL est l'URL que vous venez de copier
  • Donnez-lui un backingFile tel que %\{idp.home\}/metadata/cryptr-sp.xml, afin que l'IdP continue de fonctionner si Cryptr est momentanément injoignable

Intégration SSO Shibboleth avec Cryptr

Placez-le juste avant la dernière balise fermante du fichier, afin qu'il se trouve dans le provider chaîné. Ajouté à l'intérieur d'un des exemples commentés, il est ignoré silencieusement et les connexions échouent avec "l'application à laquelle vous avez accédé n'est pas enregistrée".

Correspondance des attributs​

Intégration SSO Shibboleth avec Cryptr

Cryptr a besoin de deux attributs, et Shibboleth connaît déjà les deux sous leur nom standard.

  • uid devient l'identifiant stable de l'utilisateur
  • mail devient l'adresse email de l'utilisateur

Intégration SSO Shibboleth avec Cryptr
  • Ouvrez conf/attribute-resolver.xml et vérifiez que uid et mail sont bien résolus pour vos utilisateurs
  • La configuration par défaut définit déjà les deux, la plupart des déploiements n'ont rien à modifier ici

Intégration SSO Shibboleth avec Cryptr
  • Ouvrez conf/attribute-filter.xml et ajoutez une politique qui diffuse uid et mail vers Cryptr
  • Limitez-la avec une règle Requester réglée sur l'Entity ID du SP affiché dans la barre latérale de droite 👉

Signature​

Intégration SSO Shibboleth avec Cryptr

Par défaut, Shibboleth signe l'assertion et laisse l'enveloppe de réponse non signée, ce qui correspond exactement à ce qu'attend Cryptr. Vous n'avez rien à modifier dans conf/relying-party.xml.


Intégration SSO Shibboleth avec Cryptr

Le format de Name ID par défaut est "Transient", que Cryptr prend en charge. L'identifiant stable provient de l'attribut uid, et non du Name ID.

Redémarrer votre fournisseur d'identité​

Intégration SSO Shibboleth avec Cryptr
  • Redémarrez votre conteneur de servlets pour que la nouvelle configuration soit prise en compte
  • Dans logs/idp-process.log, cherchez la ligne New metadata successfully loaded pour cryptr-sp.xml

Tester la connexion SSO​

Tester la connexion SSO