Dies ist eine alte Version des Dokuments!


Shibboleth Embedded Discovery Service (EDS)

Beim EDS handelt es sich um einen Satz von Java Scripts, der sich in beliebige HTML-Seiten einbetten lässt und der mit dem vom Shibboleth SP ab Version 2.4 generierten Discovery Feed arbeitet (/Shibboleth.sso/DiscoFeed). Hierbei handelt es sich um (IdP-)Daten im JSON-Format, die aus den über ein oder mehrere MetadataProvider-Elemente verfügbaren Metadaten generiert werden - nach Anwendung etwaiger MetadataFilter, z.B. einer Whitelist von Entity IDs zugriffsberechtigter IdPs oder einer EntityCategory. Auf diese Weise lässt sich mit geringem Aufwand eine Einrichtungsauswahl realisieren, die ausschließlich IdPs von Einrichtungen enthält, deren NutzerInnen Zugriff auf den vom SP geschützten Dienst erhalten sollen.

Die offizielle Dokumentation zum EDS findet sich im Shibboleth Wiki.

Ergänzend hierzu einige allgemeine Anmerkungen und Hinweise zur Installation unter Debian:

Konfiguration des Service Providers (üblicherweise unter /etc/shibboleth/shibboleth2.xml):

/etc/shibboleth/shibboleth2.xml
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://sp.uni-beispiel.de/ds/index.html">
  SAML2
</SSO>
 
<!-- i.d.R. in Kombination mit einem MetadataFilter: -->
 
<MetadataProvider type="Chaining">
   <MetadataProvider type="XML" 
         uri="https://www.aai.dfn.de/fileadmin/metadata/DFN-AAI-Basic-metadata.xml"
         backingFilePath="DFN-AAI-Basic-metadata.xml" legacyOrgNames="true" 
         minRefreshDelay="240" reloadInterval="300">
      <MetadataFilter type="RequireValidUntil" maxValidityInterval="604800"/>
      <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" />
      <MetadataFilter type="Whitelist">
         <Include>https://idp.uni-beispiel1.de/idp/shibboleth</Include>
         <Include>https://idp.uni-beispiel2.de/idp/shibboleth</Include>
         <Include>https://idp.uni-beispiel3.de/idp/shibboleth</Include>
      </MetadataFilter>
   </MetadataProvider>
   <!-- hier ggf. weitere MetadataProvider-Elemente -->
</MetadataProvider>

Ein Beispiel für eine Positiv-Auswahl anhand einer Entity Category findet sich in der Online-Dokumentation des bwIDM-Projekts unter https://www.bwidm.de/teilnahme/dienstanbieter/ (Abschnitt 1.2 - Technische Voraussetzungen)

Konfiguration des Webservers (Apache 2.4):

/etc/apache2/sites-enabled/sp.uni-beispiel.de.conf
Alias /ds /var/www/vhosts/sp.uni-beispiel.de/ds/
<Location /ds>
   Require all granted
</Location>

Der EDS kommt zum Beispiel beim DFN Test-SP3 zum Einsatz: https://testsp3.aai.dfn.de/

  • Zuletzt geändert: vor 4 Jahren