Mehrere SPs in einer Shibboleth-Instanz: ApplicationOverride
Da es sich beim Shibboleth SP (u.a.) um ein Apache Modul handelt, kann pro Server bzw. virtueller Maschine nur eine Shibboleth-Instanz betrieben werden. Damit für unterschiedliche VHosts und/oder Pfade separate Service Provider definiert werden können, müssen in der Konfigurationsdatei ./etc/shibboleth/shibboleth2.xml
sog. ApplicationOverrides
definiert werden. Siehe hierzu die ausführliche Dokumentation im Shibboleth Wiki.
Im folgenden ein einfaches, auf die relevanten Passagen gekürztes Beispiel aus der Konfiguration zweier vom DFN betriebener Test-SPs. In RequestMap
werden die diversen VHosts registriert und über die applicationId
dem entsprechenden ApplicationOverride
zugeordnet:
- /etc/shibboleth/shibboleth2.xml
<RequestMapper type="Native"> <RequestMap applicationId="default"> <Host name="testsp2.aai.dfn.de" authType="shibboleth" requireSession="true"/> <Host name="testsp.aai.dfn.de" applicationId="testsp" authType="shibboleth" requireSession="true"/> </RequestMap> </RequestMapper> <ApplicationDefaults entityID="https://testsp2.aai.dfn.de/shibboleth" REMOTE_USER="eppn persistent-id targeted-id"> .... <ApplicationOverride id="testsp" entityID="https://testsp.aai.dfn.de/shibboleth" REMOTE_USER="eppn persistent-id targeted-id" homeURL="https://testsp.aai.dfn.de"> .... </ApplicationOverride> </ApplicationDefaults>