Das Prinzip Discovery Service wird auch „WAYF“ genannt - „Where are you from?“. Mit einer Browser-gestützten Auswahl der Heimateinrichtung wird die Verbindung zwischen Service Provider und Identity Provider hergestellt.
Es gibt drei Varianten des Discovery Service:
Wir betreiben öffentliche Discovery Services, die von SP-Betreiber*innen eingebunden werden können. Ihre Informationen über die IdPs beziehen sie aus den aktuellen Metadatensätzen von DFN-AAI, DFN-AAI-Test und eduGAIN.
discoURL
https://wayf.aai.dfn.de/DFN-AAI-Test/wayf
.Ein Embedded Discovery Service (EDS) wird lokal am SP betrieben. Er nutzt dort ebenfalls die eingelesenen Föderationsmetadaten, um eine aktuelle Liste der IdPs zu bekommen.
Ein Embedded Discovery Service ist benutzerfreundlicher als die Weiterleitung auf einen zentralen Discovery Service:
Der Shibboleth SP bringt einen eigenen Discovery Service mit: Den Shibboleth EDS. Die Konfiguration haben wir auf der Seite zum Shibboleth SP beschrieben. Hintergrundinformationen zum EDS finden Sie im Shibboleth Wiki.
Die harte Verdrahtung des SP mit einem bestimmten Identity-Provider ist streng genommen kein IdP-Feature, sie fällt aber trotzdem häufig in den Zuständigkeitsbereich von IdP-Admin*s. Bei WAYFless URLs wird vom SP aus direkt ein Authentication Request bei einem bestimmten IdP ausgelöst.
Die Konfiguration von WAYFless URLs ist häufig SP-spezifisch. Ob WAYFless URLs für einen Anbieter möglich sind und wie diese URLs aussehen, hängt davon ab, wie der Anbieter den föderierten Loginprozess implementiert hat. Uns sind folgende Best Practice-Empfehlungen bekannt:
Einige Anbieter haben dokumentiert, wie WAYFless URLs für ihre Plattform erzeugt werden können:
Bei einem Shibboleth SP hat ein WAYFless URL in der Regel die Form:
https://<FQDN_SP_HOST>/Shibboleth.sso/Login?entityID=<ENTITYID_IDP>&target=<RESOURCE-LOCATION>
wobei <RESOURCE-LOCATION>
der vom SP geschützte URL ist.
Bei simpleSAMLphp sieht ein solcher URL standardmäßig wie folgt aus:
https://<FQDN_SP_HOST>/simplesaml/module.php/core/as_login.php?AuthId=<AUTH_ID>&ReturnTo=<RESOURCE-LOCATION>&saml:idp=<ENTITYID_IDP>
wobei <AUTH_ID>
der Name bzw. die ID der betreffenden Authentication Source (Typ: saml:SP
) ist, üblicherweise default-sp
.