V technických detailech federace jsou zveřejněné adresy, kde se publikují aktuální federační metadata.
Shibboleth SP 2.x vystavuje svoje metadata založené na aktuální konfiguraci na speciální adrese (handleru), typicky:
https://HOSTNAME/Shibboleth.sso/Metadata
Víc informací najdete v dokumentaci. Takto vygenerovaná metadata ovšem neobsahují kontaktní údaje. Tyto údaje můžete vyplnit dodatečně (viz příklad) anebo použít template (viz dokumentaci výše).
V současné verzi Shibboleth IdP 2.x zatím neexistuje možnost vystavit metadata na daném URL (jako u SP), ale do budoucna se s tím počítá. Přesto, vytvoření metadat není nijak těžké. Běhěm instalace IdP instalační skript jednorázově vygeneruje metadata a uloží je do souboru metadata/idp-metadata.xml. Tyto metadata je potřeba upravit tak, aby odpovídaly záměrům - většinou stačí nastavit pouze entityID a certifikát. A samozřejmě doplnit o kontaktní údaje.
Adresa, na které jsou publikována federační metadata, najdete na stránce s technickými detaily.
Shibboleth ve verzi 2.x již obsahuje nástroje na automatické stahování, kontrolu a údržbu federačních metadat.
Nastavení metadat se provádí v konfiguračním souboru conf/relying-party.xml pomocí elementu MetadataProvider. Bežně se používá typ ChainingMetadataProvider obsahujici jeden nebo více elementu typu FileBackedHTTPMetadataProvider (takové je implicitní nastavení):
<!-- MetadataProvider the combining other MetadataProviders --> <MetadataProvider id="ShibbolethMetadata" xsi:type="ChainingMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata"> <MetadataProvider id="eduid-metadata" xsi:type="FileBackedHTTPMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" metadataURL="https://metadata.eduid.cz/entities/eduid+sp" backingFile="/opt/shibboleth-idp/metadata/backup/eduid-metadata.xml" maxRefreshDelay="PT30M"> <!-- MetadataFilter elements [..] --> </MetadataProvider> </MetadataProvider>
Оd verze 2.2 je možné flexibilním způsobem řídit jak často se mají aktualizovat metadata a co dělat v případě, že se aktualizace neprovede. V příkladu výše používáme pouze atribut maxRefreshDelay, který určuje maximální dobu v sekundách, po které se mají metadata udržovat v cachi. Hodnota tohoto atributů (stejně jako i ostatní atributy vyjadřující časovou délku od verze 2.2) se zapisuje v notaci XML duration, takže například hodnota PT30M odpovídá 30 minutám. Popis všech atributů najdete v dokumentaci.
Ke každemu MetadataProvider elementu je možné nastavit příslušné MetadataFilter elementy, které dodatečně oveřují a modifikují metadata.
Doporučujeme u federačních metadat ověřovat elektronický podpis.
Podrobné informace najdete v oficiální dokumentaci.
V konfiguračním souboru shibboleth2.xml je potřeba nastavit příslušný MetadataProvider element. Syntaxe se poněkud liší od stejnojmenného elementu v případě IdP. Běžně se do jednoho elementu typu Chaining umístí jeden nebo víc elementů typu XML s nastavením stahování vzdáleného souboru metadat:
<!-- Chains together all your metadata sources. --> <MetadataProvider type="Chaining"> <MetadataProvider type="XML" uri="https://metadata.eduid.cz/entities/eduid+idp" backingFilePath="/opt/shibboleth-sp/var/run/shibboleth/backup_eduid-metadata.xml" reloadInterval="1800"> <!-- MetadataFilter elements [..] --> </MetadataProvider> </MetadataProvider>
Podobně jako v případě IdP je možné ke každému elementu MetadataProvider specifikovat MetadataFilter elementy.
Doporučujeme u federačních metadat ověřovat elektronický podpis.