cs:tech:idp:shibboleth

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs:tech:idp:shibboleth [2020/01/15 11:22]
Jan Oppolzer [attribute-resolver.xml] persistentní NameID
cs:tech:idp:shibboleth [2020/06/04 15:40] (current)
Jan Oppolzer [ldap.properties] -idp.authn.LDAP.useSSL
Line 2: Line 2:
  
 **Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat Shibboleth IdP. Před instalací musíme zprovoznit [[cs:​tech:​idp:​jetty]].** **Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat Shibboleth IdP. Před instalací musíme zprovoznit [[cs:​tech:​idp:​jetty]].**
 +
 +<WRAP important>​
 +**Podpora pro Shibboleth IdP řady 3 bude ukončena k 31. 12. 2020. Tento návod se tedy týká již nové řady 4.**
 +</​WRAP>​
 +
 +<WRAP tip>
 +Dne 12. 5. 2020 byl návod rozšířen o úpravy konfiguračního souboru [[#​metadata-providersxml|metadata-providers.xml]] pro využívání primárně AES-GCM šifrování před starým AES-CBC.
 +
 +V případě potíží nebo nejasností se neváhejte obrátit na [[info@eduid.cz]].
 +</​WRAP>​
  
 ---- ----
Line 7: Line 17:
 ===== Instalace ===== ===== Instalace =====
  
-Zdrojové kódy stáhneme [[https://​shibboleth.net/​downloads/​identity-provider/​3.4.6/|ze stránky projektu]] a umístíme do adresáře ''/​opt''​ anebo pomocí programu //wget// následujícím způsobem. Nezapomeneme ověřit SHA256 otisk a GPG podpis.+Zdrojové kódy stáhneme [[https://​shibboleth.net/​downloads/​identity-provider/​4.0.1/|ze stránky projektu]] a umístíme do adresáře ''/​opt''​ anebo pomocí programu //wget// následujícím způsobem. Nezapomeneme ověřit SHA256 otisk a GPG podpis.
  
 <code bash> <code bash>
 # Stažení zdrojového kódu Shibboleth IdP # Stažení zdrojového kódu Shibboleth IdP
 wget -P /opt \ wget -P /opt \
-     ​https://​shibboleth.net/​downloads/​identity-provider/​3.4.6/​shibboleth-identity-provider-3.4.6.tar.gz \ +     ​https://​shibboleth.net/​downloads/​identity-provider/​4.0.1/​shibboleth-identity-provider-4.0.1.tar.gz \ 
-     ​https://​shibboleth.net/​downloads/​identity-provider/​3.4.6/​shibboleth-identity-provider-3.4.6.tar.gz.asc \ +     ​https://​shibboleth.net/​downloads/​identity-provider/​4.0.1/​shibboleth-identity-provider-4.0.1.tar.gz.asc \ 
-     ​https://​shibboleth.net/​downloads/​identity-provider/​3.4.6/​shibboleth-identity-provider-3.4.6.tar.gz.sha256+     ​https://​shibboleth.net/​downloads/​identity-provider/​4.0.1/​shibboleth-identity-provider-4.0.1.tar.gz.sha256
  
 # Přepnutí do adresáře /opt # Přepnutí do adresáře /opt
Line 20: Line 30:
  
 # Kontrola SHA256 otisku # Kontrola SHA256 otisku
-sha256sum -c shibboleth-identity-provider-3.4.6.tar.gz.sha256+sha256sum -c shibboleth-identity-provider-4.0.1.tar.gz.sha256
  
 # Kontrola GPG podpisu # Kontrola GPG podpisu
-# Nejprve importujeme klíč 07CEEB8B +gpg --verify shibboleth-identity-provider-4.0.1.tar.gz.asc
-gpg --keyserver hkp://​keys.gnupg.net --search-keys 07CEEB8B +
-# Nyní můžeme provést samotnou kontrolu +
-gpg --verify shibboleth-identity-provider-3.4.6.tar.gz.asc+
 </​code>​ </​code>​
  
Line 33: Line 40:
 <code bash> <code bash>
 # Instalace Shibboleth IdP # Instalace Shibboleth IdP
-tar -xzf shibboleth-identity-provider-3.4.6.tar.gz +tar -xzf shibboleth-identity-provider-4.0.1.tar.gz 
-cd shibboleth-identity-provider-3.4.6/+cd shibboleth-identity-provider-4.0.1/
 ./​bin/​install.sh ./​bin/​install.sh
 </​code>​ </​code>​
Line 40: Line 47:
 Po spuštění instalačního skriptu: Po spuštění instalačního skriptu:
   - potvrdíme zdrojový instalační adresář,   - potvrdíme zdrojový instalační adresář,
 +  - potvrdíme cílový instalační adresář,
   - vyplníme hostname serveru (pokud není vyplněn správně),   - vyplníme hostname serveru (pokud není vyplněn správně),
 +  - vložíme opakovaně dvě hesla (//​Backchannel PKCS12 Password// a //Cookie Encryption Key Password//​),​ která si předem vygenerujeme pomocí příkazu ''​openssl rand -hex 20'',​
   - potvrdíme entityID,   - potvrdíme entityID,
-  - zadáme scope organizace (pokud není vyplněn správně)+  - zadáme scope organizace (pokud není vyplněn správně).
-  - vložíme opakovaně dvě hesla (//​Backchannel PKCS12 Password// a //Cookie Encryption Key Password//​),​ která si předem vygenerujeme pomocí příkazu ''​openssl rand -hex 20''​.+
  
 Zde je vyobrazen průběh instalačního skriptu ''​install.sh''​. Zde je vyobrazen průběh instalačního skriptu ''​install.sh''​.
  
 <code bash> <code bash>
-Source (Distribution) Directory (press <​enter>​ to accept default)[/​opt/​shibboleth-identity-provider-3.4.6]+Buildfile: /​opt/​shibboleth-identity-provider-4.0.1/​bin/​build.xml
  
-Installation ​Directory: [/​opt/​shibboleth-idp]+install: 
 +Source (Distribution) ​Directory ​(press <​enter>​ to accept default): [/​opt/​shibboleth-identity-provider-4.0.1?
  
-Hostname: [idp.example.org] +Installation Directory: [/opt/shibboleth-idp] ?
-SAML EntityID: [https://idp.example.org/​idp/​shibboleth] +
-Attribute Scope: [example.org]+
  
-Backchannel PKCS12 Password +INFO [net.shibboleth.idp.installer.V4Install:151] New Install. ​ Version4.0.1 
-Re-enter password:  +Host Name[idp.example.org] ? 
-Cookie Encryption Key Password:  + 
-Re-enter password: ​ +INFO [net.shibboleth.idp.installer.V4Install:549] Creating ​idp-signing, CN = idp.example.org URI = https://idp.example.org/idp/shibboleth, keySize=3072 
-Warning: /opt/shibboleth-idp/bin does not exist. +INFO [net.shibboleth.idp.installer.V4Install:549] Creating ​idp-encryption, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth, keySize=3072 
-Warning/​opt/​shibboleth-idp/edit-webapp does not exist. +Backchannel PKCS12 Password: 
-Warning: /opt/shibboleth-idp/dist does not exist. +Re-enter password: 
-Warning: ​/opt/shibboleth-idp/doc does not exist. +INFO [net.shibboleth.idp.installer.V4Install:​592] - Creating ​backchannel keystore, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth, keySize=3072 
-Warning/​opt/​shibboleth-idp/system does not exist. +Cookie Encryption Key Password: 
-Generating Signing Key, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth ​... +Re-enter password: 
-...done +INFO [net.shibboleth.idp.installer.V4Install:​633] - Creating ​backchannel ​keystore, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth, keySize=3072 
-Creating ​Encryption Key, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth ​... +INFO [net.shibboleth.utilities.java.support.security.BasicKeystoreKeyStrategyTool:​166] - No existing versioning property, initializing... 
-...done +SAML EntityID: [https://​idp.example.org/​idp/​shibboleth] ? 
-Creating ​Backchannel ​keystore, CN = idp.example.org URI = https://​idp.example.org/​idp/​shibboleth ... + 
-...done +Attribute Scope: [example.org] ? 
-Creating cookie encryption key files... + 
-...done +INFO [net.shibboleth.idp.installer.V4Install:​433] - Creating Metadata to /​opt/​shibboleth-idp/​metadata/​idp-metadata.xml 
-Rebuilding /​opt/​shibboleth-idp/​war/​idp.war ... +INFO [net.shibboleth.idp.installer.BuildWar:​71] - Rebuilding /​opt/​shibboleth-idp/​war/​idp.war, Version 4.0.
-...done+INFO [net.shibboleth.idp.installer.BuildWar:​80] - Initial populate from /​opt/​shibboleth-idp/​dist/​webapp to /​opt/​shibboleth-idp/​webpapp.tmp 
 +INFO [net.shibboleth.idp.installer.BuildWar:​89] - Overlay from /​opt/​shibboleth-idp/​edit-webapp to /​opt/​shibboleth-idp/​webpapp.tmp 
 +INFO [net.shibboleth.idp.installer.BuildWar:​94] - Creating war file /​opt/​shibboleth-idp/​war/​idp.war
  
 BUILD SUCCESSFUL BUILD SUCCESSFUL
-Total time: 28 seconds+Total time: 37 seconds
 </​code>​ </​code>​
  
Line 90: Line 99:
 ==== idp.properties ==== ==== idp.properties ====
  
-V souboru ''/​opt/​shibboleth-idp/​conf/​idp.properties''​ nastavíme, že všechny ​cookies ​budou limitovány na TLS. Bližší informace jsou k dispozici [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​SecurityConfiguration#​SecurityConfiguration-Properties|oficiální dokumentaci]].+V souboru ''/​opt/​shibboleth-idp/​conf/​idp.properties''​ nastavíme ​podporu pro ukládání souhlasů s vydáváním uživatelských informací (atributů) do databáze. Dále zde máme možnost ovlivnitzda se budou používat cookies ​anebo lokální úložiště HTML ("HTML Local Storage"​)neposlední řadě zde můžeme ovlivnit výchozí šifrovací algoritmus pro šifrování XML.
  
-Dále doplníme podporu ​pro ukládání souhlasů s vydáváním uživatelských informací ​(atributůdo databáze.+<WRAP tip> 
 +IdP řady 2 uměla využívat pouze cookies. IdP řady 3 přinesla možnost používání lokálního úložiště,​ ale tato volba byla standardně vypnuta. V IdP řady 4 je tato volba standardně zapnuta, takže pokud instalujete novou verzi (myšleno neaktualizujete stávající IdP V3 na novou verzi), bude povoleno použití lokálního úložiště,​ pokud ho prohlížeč podporuje. 
 + 
 +Chcete-li zachovat chování jako v předchozích verzích IdP, musíte volbu //​idp.storage.htmlLocalStorage//​ nastavit na hodnotu //​false//​. 
 + 
 +Bližší informace naleznete v oficiální [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​StorageConfiguration#​StorageConfiguration-ClientStorageService|dokumentaci]]. 
 +</​WRAP>​ 
 + 
 +<WRAP alert> 
 +Od Shibboleth IdP 4.0.0 se jako výchozí šifrovací algoritmus ​pro šifrování XML používá [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​GCMEncryption|AES-GCM]]. 
 + 
 +Starší verze IdP používaly AES-CBC. Nový algoritmus AES-GCM podporují aktuální operační systémy, na kterých je provozována aktuální verze Shibboleth SP. Nicméně ostatní implementace SAML protokolu, např. SimpleSAMLphp a další, tento protokol nepodporují a nebudou tedy fungovat. 
 + 
 +Existuje více způsobů, jak k tomuto problému přistoupit v závislosti na potřebách konkrétního IdP. Ten nejvhodnější je samozřejmě tlačit na ostatní služby (a jimi používané implementace), aby podporu pro nový algoritmus zařadili. Nejjednodušší způsob je zakomentovat volbu //​idp.encryption.config//,​ ale **správné řešení naleznete v [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​GCMEncryption|dokumentaci]] po jejím přečtení a pochopení**. 
 +</​WRAP>​
  
 <code bash> <code bash>
Line 99: Line 122:
 </​code>​ </​code>​
  
-Nastavíme ''​idp.cookie.secure''​ na hodnotu ''​true''​ a ''​idp.consent.StorageService''​ na hodnotu ​''​shibboleth.JPAStorageService'':​+Nastavíme ''​idp.consent.StorageService''​ na hodnotu ''​shibboleth.JPAStorageService''​ a případně i ''​idp.storage.htmlLocalStorage''​ na ''​false''​. V případě, že potřebujeme,​ aby IdP komunikovalo i se službami nepodporující šifrovací algoritmus AES-GCM, můžeme **po přečtení a pochopení [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​GCMEncryption|dokumentace]]** zakomentovat ​''​idp.encryption.config'',​ **pokud opravdu chceme vypnout a zakázat nový způsob bezpečného šifrování**:
  
 <code ini> <code ini>
-idp.cookie.secure = true 
 idp.consent.StorageService = shibboleth.JPAStorageService idp.consent.StorageService = shibboleth.JPAStorageService
 +idp.storage.htmlLocalStorage = false
 +#​idp.encryption.config=shibboleth.EncryptionConfiguration.GCM
 </​code>​ </​code>​
  
Line 121: Line 145:
 idp.authn.LDAP.ldapURL ​          = ldaps://​ldap.example.org:​636 idp.authn.LDAP.ldapURL ​          = ldaps://​ldap.example.org:​636
 idp.authn.LDAP.useStartTLS ​      = false idp.authn.LDAP.useStartTLS ​      = false
-idp.authn.LDAP.useSSL ​           = true 
 idp.authn.LDAP.sslConfig ​        = certificateTrust idp.authn.LDAP.sslConfig ​        = certificateTrust
 idp.authn.LDAP.trustCertificates = %{idp.home}/​credentials/​ldap-server.crt idp.authn.LDAP.trustCertificates = %{idp.home}/​credentials/​ldap-server.crt
Line 127: Line 150:
 idp.authn.LDAP.subtreeSearch ​    = true idp.authn.LDAP.subtreeSearch ​    = true
 idp.authn.LDAP.bindDN ​           = uid=shibboleth,​ou=users,​dc=example,​dc=org idp.authn.LDAP.bindDN ​           = uid=shibboleth,​ou=users,​dc=example,​dc=org
-idp.authn.LDAP.bindDNCredential ​ = nejakeheslo 
 idp.ldaptive.provider ​           = org.ldaptive.provider.unboundid.UnboundIDProvider idp.ldaptive.provider ​           = org.ldaptive.provider.unboundid.UnboundIDProvider
 </​code>​ </​code>​
Line 137: Line 159:
 //Poznámka k ldapURL:// V ldapURL nesmíme uvést koncové lomítko, např. ''​[[ldaps://​ldap.example.org:​636/​]]'',​ jinak nebude Shibboleth fungovat a v logu najdeme ''​java.lang.NumberFormatException:​ For input string: "​636/"''​. //Poznámka k ldapURL:// V ldapURL nesmíme uvést koncové lomítko, např. ''​[[ldaps://​ldap.example.org:​636/​]]'',​ jinak nebude Shibboleth fungovat a v logu najdeme ''​java.lang.NumberFormatException:​ For input string: "​636/"''​.
  
-Konfigurační ​volby ''​idp.authn.LDAP.useStartTLS'' ​a ''​idp.authn.LDAP.useSSL''​ říkajíže namísto TLS budeme používat ​SSL. Následující volba ''​idp.authn.LDAP.trustCertificates''​ udává cestu ke kořenovému certifikátu CA, která vydala SSL certifikát pro LDAP server ''​ldap.example.org''​. **Je nutné nezapomenout nakopírovat tento soubor na odpovídající místo!**+Konfigurační ​volba ''​idp.authn.LDAP.useStartTLS'' ​určujejestli ​budeme používat ​StartTLS. Následující volba ''​idp.authn.LDAP.trustCertificates''​ udává cestu ke kořenovému certifikátu CA, která vydala SSL certifikát pro LDAP server ''​ldap.example.org''​. **Je nutné nezapomenout nakopírovat tento soubor na odpovídající místo!**
  
-Volba ''​idp.authn.LDAP.baseDN''​ určuje tzv. "base DN" v LDAPu. Volby ''​idp.authn.LDAP.bindDN''​ a ''​idp.authn.LDAP.bindDNCredential''​ určují uživatelské jméno ​a heslo, které se použije při přístupu k LDAP serveru pro získání uživatelských atributů.+Volba ''​idp.authn.LDAP.baseDN''​ určuje tzv. "base DN" v LDAPu. Volby ''​idp.authn.LDAP.bindDN''​ určuje uživatelské jméno, které se použije při přístupu k LDAP serveru pro získání uživatelských atributů.
  
 Volba na posledním řádku (''​idp.ldaptive.provider''​) je důležitá pro fungování LDAPu při použití vyšší verze Javy než 8 (náš případ). **Bez přidání této volby se Shibboleth IdP k LDAPu nepřípojí!** Bližší informace naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​LDAPonJava%3E8|v oficiální dokumentaci]]. Volba na posledním řádku (''​idp.ldaptive.provider''​) je důležitá pro fungování LDAPu při použití vyšší verze Javy než 8 (náš případ). **Bez přidání této volby se Shibboleth IdP k LDAPu nepřípojí!** Bližší informace naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​LDAPonJava%3E8|v oficiální dokumentaci]].
 +
 +==== secrets.properties ====
 +
 +V souboru ''/​opt/​shibboleth-idp/​credentials/​secrets.properties'',​ který nově existuje v Shibboleth IdP od verze 4.0.0, nastavíme heslo k LDAP serveru a sůl pro //​persistentní NameID identifikátor//​ / atribut //​eduPersonTargetedID//,​ kterou si vygenerujeme.
 +
 +<code bash>
 +# Vygenerování soli
 +openssl rand -base64 36
 +
 +# Otevřeme konfigurační soubor secrets.properties
 +vim /​opt/​shibboleth-idp/​credentials/​secrets.properties
 +</​code>​
 +
 +Volba ''​idp.authn.LDAP.bindDNCredential''​ obsahuje heslo, které se použije při přístupu k LDAPu. Heslo je pro uživatelský účet definovaný v ''​idp.authn.LDAP.bindDN''​ v ''/​opt/​shibboleth-idp/​conf/​ldap.properties''​ souboru. Volba ''​idp.persistentId.salt''​ definuje sůl pro persistentní NameID identifikátor,​ kterou jsme si právě vygenerovali.
 +
 +<code ini>
 +idp.authn.LDAP.bindDNCredential = ___NEJAKE_HESLO___
 +idp.persistentId.salt = ___NEJAKA_SUL___
 +</​code>​
  
 ==== metadata-providers.xml ==== ==== metadata-providers.xml ====
Line 159: Line 200:
     backingFile="​%{idp.home}/​metadata/​eduidcz.xml"​     backingFile="​%{idp.home}/​metadata/​eduidcz.xml"​
     metadataURL="​https://​metadata.eduid.cz/​entities/​eduid+sp"​     metadataURL="​https://​metadata.eduid.cz/​entities/​eduid+sp"​
-    maxRefreshDelay="​PT15M">+    maxRefreshDelay="​PT30M"> 
     <​MetadataFilter     <​MetadataFilter
         xsi:​type="​SignatureValidation"​         xsi:​type="​SignatureValidation"​
         requireSignedRoot="​true"​         requireSignedRoot="​true"​
         certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ />         certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ />
-    ​<​MetadataFilter xsi:​type="​EntityRoleWhiteList">​ + 
-        <RetainedRole>md:SPSSODescriptor</RetainedRole>+    ​<​MetadataFilter 
 +        ​xsi:​type="​RequiredValidUntil" 
 +        maxValidityInterval="​P30D"​ /> 
 + 
 +</​MetadataProvider>​ 
 + 
 +<!-- eduGAIN --> 
 +<​MetadataProvider 
 +    id="​edugain"​ 
 +    xsi:​type="​FileBackedHTTPMetadataProvider"​ 
 +    backingFile="​%{idp.home}/​metadata/​edugain.xml"​ 
 +    metadataURL="​https://​metadata.eduid.cz/​entities/​edugain+sp"​ 
 +    maxRefreshDelay="​PT30M">​ 
 + 
 +    <​MetadataFilter 
 +        ​xsi:​type="​SignatureValidation"​ 
 +        requireSignedRoot="​true"​ 
 +        certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ /> 
 + 
 +    ​<MetadataFilter 
 +        xsi:​type="​RequiredValidUntil"​ 
 +        maxValidityInterval="​P30D"​ /> 
 + 
 +</​MetadataProvider>​ 
 +</​code>​ 
 + 
 +//Blok kódu výše, tedy element <​MetadataProvider>​ se všemi atributy a potomky, je nutné umístit do elementu <​MetadataProvider>​ v konfiguračním souboru ''​metadata-providers.xml''​! Sice to působí podivně, ale bez toho nebude XML dokument validní a konfigurace nebude fungovat.//​ 
 + 
 +Pokud by vás zajímal význam atributů v elementu ''<​MetadataProvider>'',​ naleznete vše [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​FileBackedHTTPMetadataProvider|v oficiální dokumentaci]]. Vše okolo ''<​MetadataFilter>''​ elementu naleznete také [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​MetadataFilterConfiguration|v oficiální dokumentaci]]. 
 + 
 +<WRAP tip> 
 +Pokud jsme se v sekci [[#​idpproperties|idp.properties]] správně rozhodli využívat primárně nový bezpečnější způsob šifrování pomocí AES-GCM, je velice vhodné vytvořit sekci pro služby, které toto šifrování nepodporují a povolit u nich starší způsob šifrování pomocí AES-CBC, jinak nebude možné se k nim přihlásit. 
 + 
 +Níže uvedený seznam výjimek (složený z entityID služeb podporujících pouze AES-CBC) zajistí, že IdP bude primárně používat nové šifrování a staré pouze pro vyjmenované služby. Seznam níže uvedených služeb by měl být kompletní. Pokud byste narazili na problém, oznamte ho, prosím, na [[info@eduid.cz]]. 
 + 
 +Jelikož je z kapacitních důvodů velice komplikované otestovat podporu pro AES-GCM, tak pro eduGAIN je zvolen jiný přístup. Primárně se používá AES-CBC, pokud služba v metadatech sama neuvádí podporu pro AES-GCM. Bližší vysvětlení je nad rámec tohoto návodu, proto je zde uvedeno pouze aktuálně nejvhodnější řešení k 12. 5. 2020. 
 + 
 +<code xml> 
 +<!-- eduID.cz --> 
 +<​MetadataProvider 
 +    id="​eduidcz"​ 
 +    xsi:​type="​FileBackedHTTPMetadataProvider"​ 
 +    backingFile="​%{idp.home}/​metadata/​eduidcz.xml"​ 
 +    metadataURL="​https://​metadata.eduid.cz/​entities/​eduid+sp"​ 
 +    maxRefreshDelay="​PT30M">​ 
 + 
 +    <​MetadataFilter 
 +        xsi:​type="​SignatureValidation"​ 
 +        requireSignedRoot="​true"​ 
 +        certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ /> 
 + 
 +    <​MetadataFilter 
 +        xsi:​type="​RequiredValidUntil"​ 
 +        maxValidityInterval="​P30D"​ /> 
 + 
 +    <​MetadataFilter 
 +        xsi:​type="​Algorithm">​ 
 + 
 +        <md:EncryptionMethod Algorithm="​http://​www.w3.org/​2001/​04/​xmlenc#​aes128-cbc"​ /> 
 +        <​Entity>​ccm.net.cvut.cz</Entity> 
 +        <​Entity>​http://​fastwiki.vutbr.cz/​simplesaml/​module.php/​saml/​sp/​metadata.php/​fastwiki</​Entity>​ 
 +        <​Entity>​http://​www.stawiki.cz/​simplesaml/​module.php/​saml/​sp/​metadata.php/​stawiki</​Entity>​ 
 +        <​Entity>​https://​adfs-4t.w2lan.cesnet.cz/​adfs/​services/​trust</​Entity>​ 
 +        <​Entity>​https://​adm.hostel.eduid.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​auth.eidas.cesnet.cz/​sp</​Entity>​ 
 +        <​Entity>​https://​auth.services.bmj.com/​auth</​Entity>​ 
 +        <​Entity>​https://​camelot.lf2.cuni.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​cawi.fsv.cuni.cz/​simplesaml/​module.php/​saml/​sp/​metadata.php/​default-sp</​Entity>​ 
 +        <​Entity>​https://​collector-metacentrum.liberouter.org/​simplesaml/​module.php/​saml/​sp/​metadata.php/​collector</​Entity>​ 
 +        <​Entity>​https://​cz-online.aliveplatform.com/​simplesaml/​module.php/​saml/​sp/​metadata.php/​cz-online.aliveplatform.com</​Entity>​ 
 +        <​Entity>​https://​devnull.cesnet.cz/​simplesamlphp</​Entity>​ 
 +        <​Entity>​https://​digi.law.muni.cz</​Entity>​ 
 +        <​Entity>​https://​digitool.is.cuni.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​dspace.vsb.cz/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​dspace2.zcu.cz/​dspace</​Entity>​ 
 +        <​Entity>​https://​edu.ista.tacr.cz/​ISTA</​Entity>​ 
 +        <​Entity>​https://​fedra.cesnet-ca.cz/</​Entity>​ 
 +        <​Entity>​https://​fedra.cesnet-ca.cz/​force</​Entity>​ 
 +        <​Entity>​https://​fedra2.cesnet.cz/​sp</​Entity>​ 
 +        <​Entity>​https://​filesender.cesnet.cz/​saml/​sp</​Entity>​ 
 +        <​Entity>​https://​gc3.cesnet.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​index.bbmri.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​iptel.cesnet.cz/​shibboleth/​cesnet-internal/​sp</​Entity>​ 
 +        <​Entity>​https://​iptelix.cesnet.cz/</​Entity>​ 
 +        <​Entity>​https://​ista.tacr.cz/​ISTA</​Entity>​ 
 +        <​Entity>​https://​itmulti.cz/​simplesaml/​module.php/​saml/​sp/​metadata.php/​portal4</​Entity>​ 
 +        <​Entity>​https://​journals.bmj.com/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​login.bbmri-eric.eu/​proxy/</​Entity>​ 
 +        <​Entity>​https://​login.ceitec.cz/​proxy/</​Entity>​ 
 +        <​Entity>​https://​login.elixir-czech.org/​proxy/</​Entity>​ 
 +        <​Entity>​https://​login.ezproxy.is.cuni.cz/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​login.ezproxy.uochb.cas.cz:​2443/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​login.ezproxy.vscht.cz/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​mefanet-motol.cuni.cz/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​meta.cesnet.cz/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​mooc.cuni.cz/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​nfsmon.ics.muni.cz/</​Entity>​ 
 +        <​Entity>​https://​odevzdej.cz/​shibboleth/</​Entity>​ 
 +        <​Entity>​https://​onlineca.cesnet-ca.cz/</​Entity>​ 
 +        <​Entity>​https://​onlineca.cesnet-ca.cz/​force</​Entity>​ 
 +        <​Entity>​https://​orca.ruk.cuni.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​pentest.cesnet.cz/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​portal.lf3.cuni.cz/​shibboleth/​sp</​Entity>​ 
 +        <​Entity>​https://​postudium.cz/​auth/​saml2/​sp/​metadata.php</​Entity>​ 
 +        <​Entity>​https://​proxy.lifescienceid.org/​metadata/​backend.xml</​Entity>​ 
 +        <​Entity>​https://​repozitar.cz/​shibboleth/</​Entity>​ 
 +        <​Entity>​https://​saint.cesnet.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​seth.ics.muni.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​shib-test.cup.cam.ac.uk/​shibboleth-sp</​Entity>​ 
 +        <​Entity>​https://​shibmon.eduid.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​sip.cesnet.cz/​sp/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​sip.cesnet.cz/​sp/​shibboleth/​cesnet</​Entity>​ 
 +        <​Entity>​https://​softweco.cz/​shibboleth-sp</​Entity>​ 
 +        <​Entity>​https://​su-dev.fit.vutbr.cz/​kis</​Entity>​ 
 +        <​Entity>​https://​su-int.fit.vutbr.cz/​kis</​Entity>​ 
 +        <​Entity>​https://​tcs-dev.cesnet.cz/​simplesaml/</​Entity>​ 
 +        <​Entity>​https://​tcs.cesnet.cz/​simplesaml/</​Entity>​ 
 +        <​Entity>​https://​teleinform.cz/​simplesaml/​module.php/​saml/​sp/​metadata.php/​portal1</​Entity>​ 
 +        <​Entity>​https://​telekomunikace-tit.cz/​simplesaml/​module.php/​saml/​sp/​metadata.php/​portal3</​Entity>​ 
 +        <​Entity>​https://​test.ista.tacr.cz/​ISTA</​Entity>​ 
 +        <​Entity>​https://​thalamoss-data.ics.muni.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​theses.cz/​shibboleth/</​Entity>​ 
 +        <​Entity>​https://​vnweb.hwwilsonweb.com/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​vut-vsb.cz/​simplesaml/​module.php/​saml/​sp/​metadata.php/​portal2</​Entity>​ 
 +        <​Entity>​https://​vvvd.vsb.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​wikisofia.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​www.bookport.cz/</​Entity>​ 
 +        <​Entity>​https://​www.cistbrno.cz/</​Entity>​ 
 +        <​Entity>​https://​www.citacepro.com/​simplesaml/​module.php/​saml/​sp/​metadata.php/​eduid-sp</​Entity>​ 
 +        <​Entity>​https://​www.eunis.cz/​simplesamlphp/​module.php/​saml/​sp/​metadata.php/​eunis</​Entity>​ 
 +        <​Entity>​https://​www.jib.cz/​shibboleth</​Entity>​ 
 +        <​Entity>​https://​www.levna-knihovna.cz/​simplesamlphp/​module.php/​saml/​sp/​metadata.php/​default-sp</​Entity>​ 
 +        <​Entity>​https://​www.liberouter.org/​simplesamlphp/​module.php/​saml/​sp/​metadata.php/​liberouter</​Entity>​ 
 +        <​Entity>​https://​www.mecenat.eu/​sp</​Entity>​ 
 +        <​Entity>​https://​www.vutbr.cz/​SSO/​saml2/​sp</​Entity>​ 
 +        <​Entity>​https://​xploreuat.ieee.org/​shibboleth-sp</​Entity>​ 
     </​MetadataFilter>​     </​MetadataFilter>​
 +
 </​MetadataProvider>​ </​MetadataProvider>​
  
Line 175: Line 354:
     backingFile="​%{idp.home}/​metadata/​edugain.xml"​     backingFile="​%{idp.home}/​metadata/​edugain.xml"​
     metadataURL="​https://​metadata.eduid.cz/​entities/​edugain+sp"​     metadataURL="​https://​metadata.eduid.cz/​entities/​edugain+sp"​
-    maxRefreshDelay="​PT15M">+    maxRefreshDelay="​PT30M"> 
     <​MetadataFilter     <​MetadataFilter
         xsi:​type="​SignatureValidation"​         xsi:​type="​SignatureValidation"​
         requireSignedRoot="​true"​         requireSignedRoot="​true"​
         certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ />         certificateFile="​%{idp.home}/​credentials/​metadata.eduid.cz.crt.pem"​ />
-    ​<​MetadataFilter xsi:​type="​EntityRoleWhiteList"> + 
-        <RetainedRole>md:SPSSODescriptor</RetainedRole>+    ​<​MetadataFilter 
 +        ​xsi:​type="​RequiredValidUntil
 +        ​maxValidityInterval="​P30D"​ /> 
 + 
 +    ​<MetadataFilter 
 +        xsi:​type="​Algorithm"​> 
 + 
 +        <md:EncryptionMethod Algorithm="​http://​www.w3.org/​2001/​04/​xmlenc#​aes128-cbc"/>​ 
 +        <​ConditionRef>​shibboleth.Conditions.TRUE</ConditionRef> 
     </​MetadataFilter>​     </​MetadataFilter>​
 +
 </​MetadataProvider>​ </​MetadataProvider>​
 </​code>​ </​code>​
  
-//Blok kódu výše, tedy element ​<MetadataProvider>​ se všemi atributy, je nutné umístit do elementu <​MetadataProvider>​ v konfiguračním souboru ''​metadata-providers.xml''​! Sice to působí podivně, ale bez toho nebude XML dokument validní a konfigurace nebude fungovat./+</WRAP>
- +
-Pokud by vás zajímal význam atributů v elementu ''<​MetadataProvider>'',​ naleznete vše [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​FileBackedHTTPMetadataProvider|v oficiální dokumentaci]]. Vše okolo ''<​MetadataFilter>''​ elementu naleznete také [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​MetadataFilterPlugin|v oficiální dokumentaci]].+
  
 Metadata federací eduID.cz i eduGAIN jsou podepsána. //Důrazně doporučujeme tedy jejich autenticitu ověřovat pomocí kontroly podpisu!// Veřejný klíč je k dispozici na adrese https://​www.eduid.cz/​docs/​eduid/​metadata/​metadata.eduid.cz.crt.pem. Stáhněte ho a uložte do adresáře ''/​opt/​shibboleth-idp/​credentials''​. Metadata federací eduID.cz i eduGAIN jsou podepsána. //Důrazně doporučujeme tedy jejich autenticitu ověřovat pomocí kontroly podpisu!// Veřejný klíč je k dispozici na adrese https://​www.eduid.cz/​docs/​eduid/​metadata/​metadata.eduid.cz.crt.pem. Stáhněte ho a uložte do adresáře ''/​opt/​shibboleth-idp/​credentials''​.
Line 202: Line 390:
 Chcete-li si konfigurační soubor ''/​opt/​shibboleth-idp/​conf/​attribute-resolver.xml''​ nakonfigurovat od začátku a naprosto sami, využijte k tomu soubor ''/​opt/​shibboleth-idp/​conf/​attribute-resolver-ldap.xml'',​ který v sobě zahrnuje i konektor do LDAP serveru. Chcete-li si konfigurační soubor ''/​opt/​shibboleth-idp/​conf/​attribute-resolver.xml''​ nakonfigurovat od začátku a naprosto sami, využijte k tomu soubor ''/​opt/​shibboleth-idp/​conf/​attribute-resolver-ldap.xml'',​ který v sobě zahrnuje i konektor do LDAP serveru.
  
-Doporučuji však usnadnit si práci a vyjít z připraveného souboru na adrese [[https://​www.eduid.cz/​shibboleth-idp/​attribute-resolver.xml]]. [[cs:​tech:​attributes]] naleznete v dokumentaci. Podle tohoto seznamu si ''​attribute-filter.xml''​ upravte.+Doporučuji však usnadnit si práci a vyjít z připraveného souboru na adrese [[https://​www.eduid.cz/​shibboleth-idp/​attribute-resolver.xml]]. [[cs:​tech:​attributes]] naleznete v dokumentaci. Podle tohoto seznamu si ''​attribute-resolver.xml''​ upravte.
  
 <WRAP alert> <WRAP alert>
 **Návod v následujících krocích předpokládá,​ že jste použili připravenou šablonu!** **Návod v následujících krocích předpokládá,​ že jste použili připravenou šablonu!**
  
-Navíc se předpokládá,​ že pro generování persistentního NameID identifikátoru používáte atribut ''​uid''​. Tento SAML atribut nesmí mít v ''​attribute-resolver.xml''​ XML atribut //​dependencyOnly="​true"//,​ jinak nebude pro generování persistentního NameID k dispozici a persistentní NameID se nevygeneruje. **Několik služeb bez persistentního NameID nebudou fungovat!**+Navíc se předpokládá,​ že pro generování persistentního NameID identifikátoru používáte atribut ''​uid''​. Tento SAML atribut nesmí mít v ''​attribute-resolver.xml''​ XML atribut //​dependencyOnly="​true"//,​ jinak nebude pro generování persistentního NameID k dispozici a persistentní NameID se nevygeneruje. 
 + 
 +**Některé ​služby bez persistentního NameID nebudou fungovat!**
 </​WRAP>​ </​WRAP>​
  
Line 216: Line 406:
 </​code>​ </​code>​
  
-Potřebujete-li si definovat své atributy, pak bližší informace ke konfiguraci naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​AttributeResolverConfiguration|v oficiální dokumentaci]].+Potřebujete-li si definovat své atributy, pak bližší informace ke konfiguraci naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​AttributeResolverConfiguration|v oficiální dokumentaci]].
  
 ==== attribute-filter.xml ==== ==== attribute-filter.xml ====
Line 222: Line 412:
 Mít definované atributy z předchozího kroku nestačí. Ještě je potřeba nadefinovat,​ které atributy budeme vydávat a komu je budeme vydávat. To se nastavuje v konfiguračním souboru ''/​opt/​shibboleth-idp/​conf/​attribute-filter.xml''​. Mít definované atributy z předchozího kroku nestačí. Ještě je potřeba nadefinovat,​ které atributy budeme vydávat a komu je budeme vydávat. To se nastavuje v konfiguračním souboru ''/​opt/​shibboleth-idp/​conf/​attribute-filter.xml''​.
  
-Z důvodu zjednodušení doporučujeme uvolňovat atributy dle našeho doporučení na adrese https://​www.eduid.cz/​shibboleth-idp/​attribute-filter.xml.+Z důvodu zjednodušení doporučujeme uvolňovat atributy dle našeho doporučení na adrese ​[[https://​www.eduid.cz/​shibboleth-idp/​attribute-filter.xml]].
  
 Filtr uvolňuje atributy podle kategorií entit [[cs:​tech:​categories:​rs]],​ [[cs:​tech:​categories:​coco]] a dále do federací [[cs:​tech:​summary|eduID.cz]] a [[cs:​tech:​edugain|eduGAIN]]. Filtr uvolňuje atributy podle kategorií entit [[cs:​tech:​categories:​rs]],​ [[cs:​tech:​categories:​coco]] a dále do federací [[cs:​tech:​summary|eduID.cz]] a [[cs:​tech:​edugain|eduGAIN]].
Line 231: Line 421:
 </​code>​ </​code>​
  
-Chcete-li si nastavit uvolňování atributů dle svého, tak bližší informace naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​AttributeFilterConfiguration|v oficiální dokumentaci]].+Chcete-li si nastavit uvolňování atributů dle svého, tak bližší informace naleznete [[https://​wiki.shibboleth.net/​confluence/​display/​IDP4/​AttributeFilterConfiguration|v oficiální dokumentaci]].
  
 ==== idp-metadata.xml ==== ==== idp-metadata.xml ====
Line 239: Line 429:
 <code bash> <code bash>
 # Otevřeme konfigurační soubor idp-metadata.xml # Otevřeme konfigurační soubor idp-metadata.xml
-vi /​opt/​shibboleth-idp/​metadata/​idp-metadata.xml+vim /​opt/​shibboleth-idp/​metadata/​idp-metadata.xml
 </​code>​ </​code>​
  
Line 320: Line 510:
 <code bash> <code bash>
 # Úpravy v konfiguračním souboru global.xml # Úpravy v konfiguračním souboru global.xml
-vi /​opt/​shibboleth-idp/​conf/​global.xml+vim /​opt/​shibboleth-idp/​conf/​global.xml
 </​code>​ </​code>​
  
Line 328: Line 518:
 <bean id="​shibboleth.MySQLDataSource"​ <bean id="​shibboleth.MySQLDataSource"​
     class="​org.apache.commons.dbcp2.BasicDataSource"​     class="​org.apache.commons.dbcp2.BasicDataSource"​
-    p:​driverClassName="​com.mysql.jdbc.Driver"​+    p:​driverClassName="​org.mariadb.jdbc.Driver"​
     p:​url="​jdbc:​mysql://​localhost:​3306/​shibboleth"​     p:​url="​jdbc:​mysql://​localhost:​3306/​shibboleth"​
     p:​username="​shibboleth"​     p:​username="​shibboleth"​
Line 352: Line 542:
     p:​generateDdl="​true"​     p:​generateDdl="​true"​
     p:​database="​MYSQL"​     p:​database="​MYSQL"​
-    p:​databasePlatform="​org.hibernate.dialect.MySQL5Dialect" />+    p:​databasePlatform="​org.hibernate.dialect.MariaDBDialect" />
 </​code>​ </​code>​
  
Line 361: Line 551:
 <code bash> <code bash>
 # Úpravy v konfiguračním souboru saml-nameid.properties # Úpravy v konfiguračním souboru saml-nameid.properties
-vi /​opt/​shibboleth-idp/​conf/​saml-nameid.properties+vim /​opt/​shibboleth-idp/​conf/​saml-nameid.properties
 </​code>​ </​code>​
  
-<code bash> +Zde definujeme odkazy na výše definované "<​bean>​y",​ dále atribut, který se bude pro výpočet persistentního identifikátoru používat (''​uid''​).
-# Vygenerování soli +
-openssl rand -base64 36 +
-</​code>​ +
- +
-Zde definujeme odkazy na výše definované "<​bean>​y",​ dále atribut, který se bude pro výpočet persistentního identifikátoru používat (''​uid''​) a sůl (''​salt''​) použitou pro výpočet (tu jsme si již vygenerovali výše).+
  
 <code ini> <code ini>
 idp.persistentId.sourceAttribute = uid idp.persistentId.sourceAttribute = uid
-idp.persistentId.salt = ___SALT___ +# Nové IdP (BASE32)
-# Nové IdP+
 idp.persistentId.encoding = BASE32 idp.persistentId.encoding = BASE32
-# Migrované IdP+# Migrované IdP (BASE64)
 #​idp.persistentId.encoding = BASE64 #​idp.persistentId.encoding = BASE64
 idp.persistentId.generator = shibboleth.StoredPersistentIdGenerator idp.persistentId.generator = shibboleth.StoredPersistentIdGenerator
Line 388: Line 572:
 <code bash> <code bash>
 # Úpravy v konfiguračním souboru saml-nameid.xml # Úpravy v konfiguračním souboru saml-nameid.xml
-vi /​opt/​shibboleth-idp/​conf/​saml-nameid.xml+vim /​opt/​shibboleth-idp/​conf/​saml-nameid.xml
 </​code>​ </​code>​
  
Line 403: Line 587:
 <code bash> <code bash>
 # Úpravy v konfiguračním souboru subject-c14n.xml # Úpravy v konfiguračním souboru subject-c14n.xml
-vi /​opt/​shibboleth-idp/​conf/​c14n/​subject-c14n.xml+vim /​opt/​shibboleth-idp/​conf/​c14n/​subject-c14n.xml
 </​code>​ </​code>​
  
Line 460: Line 644:
 ### Operating Environment Information ### Operating Environment Information
 operating_system:​ Linux operating_system:​ Linux
-operating_system_version:​ 4.19.0-6-amd64+operating_system_version:​ 4.19.0-8-amd64
 operating_system_architecture:​ amd64 operating_system_architecture:​ amd64
-jdk_version:​ 11.0.5+jdk_version:​ 11.0.7
 available_cores:​ 1 available_cores:​ 1
-used_memory: ​391 MB+used_memory: ​505 MB
 maximum_memory:​ 1500 MB maximum_memory:​ 1500 MB
  
 ### Identity Provider Information ### Identity Provider Information
-idp_version: ​3.4.6 +idp_version:​ 4.0.1 
-start_time: ​2019-12-13T15:34:26+01:00 +start_time: ​2020-06-03T17:28:39.512Z 
-current_time: ​2019-12-13T15:34:28+01:00 +current_time: ​2020-06-04T09:21:47.240070Z 
-uptime: ​2512 ms+uptime: ​57187728 ​ms
  
 service: shibboleth.LoggingService service: shibboleth.LoggingService
-last successful reload attempt: ​2019-12-13T14:33:26Z +last successful reload attempt: ​2020-06-03T17:28:11.253801Z 
-last reload attempt: ​2019-12-13T14:33:26Z+last reload attempt: ​2020-06-03T17:28:11.253801Z
  
-service: shibboleth.ReloadableAccessControlService +service: shibboleth.AttributeFilterService 
-last successful reload attempt: ​2019-12-13T14:33:50Z +last successful reload attempt: ​2020-06-03T17:28:14.883468Z 
-last reload attempt: ​2019-12-13T14:33:50Z+last reload attempt: ​2020-06-03T17:28:14.883468Z
  
-service: shibboleth.MetadataResolverService +service: shibboleth.AttributeResolverService 
-last successful reload attempt: ​2019-12-13T14:33:40Z +last successful reload attempt: ​2020-06-03T17:28:15.229718Z 
-last reload attempt: ​2019-12-13T14:33:40Z+last reload attempt: ​2020-06-03T17:28:15.229718Z
  
- metadata source: eduidcz + No Data Connector has ever failed
- last refresh attempt: 2019-12-13T14:​33:​40Z +
- last successful refresh: 2019-12-13T14:​33:​40Z +
- last update: 2019-12-13T14:​33:​40Z +
- root validUntil: 2020-01-12T14:​01:​02Z+
  
- metadata sourceedugain +serviceshibboleth.AttributeRegistryService 
- last refresh ​attempt: ​2019-12-13T14:33:42Z +last successful reload ​attempt: ​2020-06-03T17:28:17.917614Z 
- last successful refresh2019-12-13T14:33:42Z +last reload attempt2020-06-03T17:28:17.917614Z 
- last update2019-12-13T14:33:42Z + 
- root validUntil: 2020-01-09T15:02:02Z+service: shibboleth.NameIdentifierGenerationService 
 +last successful reload attempt2020-06-03T17:28:18.367397Z 
 +last reload attempt: 2020-06-03T17:28:18.367397Z
  
 service: shibboleth.RelyingPartyResolverService service: shibboleth.RelyingPartyResolverService
-last successful reload attempt: ​2019-12-13T14:33:39Z +last successful reload attempt: ​2020-06-03T17:28:18.586550Z 
-last reload attempt: ​2019-12-13T14:33:39Z+last reload attempt: ​2020-06-03T17:28:18.586550Z
  
-service: shibboleth.NameIdentifierGenerationService +service: shibboleth.MetadataResolverService 
-last successful reload attempt: ​2019-12-13T14:33:39Z +last successful reload attempt: ​2020-06-03T17:28:19.312703Z 
-last reload attempt: ​2019-12-13T14:33:39Z+last reload attempt: ​2020-06-03T17:28:19.312703Z
  
-serviceshibboleth.AttributeResolverService + metadata sourceShibbolethMetadata 
-last successful ​reload attempt2019-12-13T14:33:30Z + last refresh attempt: 2020-06-04T09:​13:​56.861811Z 
-last reload attempt2019-12-13T14:33:30Z+ last successful ​refresh2020-06-04T09:13:56.861811Z 
 + last update2020-06-04T09:13:56.861811Z
  
- DataConnector staticAttributeshas never failed+ metadata sourceeduidcz 
 + last refresh attempt: 2020-06-04T09:​13:​27.057546Z 
 + last successful refresh: 2020-06-04T09:​13:​27.057546Z 
 + last update: 2020-06-03T21:​58:​26.568748Z 
 + root validUntil: 2020-06-30T23:​53:​01Z
  
- DataConnector myLDAPhas never failed+ metadata sourceedugain 
 + last refresh attempt: 2020-06-04T09:​13:​56.861811Z 
 + last successful refresh: 2020-06-04T09:​13:​56.861811Z 
 + last update: 2020-06-04T09:​13:​56.861811Z 
 + root validUntil: 2020-07-01T11:​03:​02Z
  
- DataConnector myStoredIdhas never failed+serviceshibboleth.ReloadableAccessControlService 
 +last successful reload attempt: 2020-06-03T17:​28:​29.661225Z 
 +last reload attempt: 2020-06-03T17:​28:​29.661225Z
  
-service: shibboleth.AttributeFilterService +service: shibboleth.ReloadableCASServiceRegistry 
-last successful reload attempt: ​2019-12-13T14:33:29Z +last successful reload attempt: ​2020-06-03T17:28:29.738837Z 
-last reload attempt: ​2019-12-13T14:33:29Z+last reload attempt: ​2020-06-03T17:28:29.738837Z 
 + 
 +service: shibboleth.ManagedBeanService 
 +last successful reload attempt: 2020-06-03T17:​28:​29.795208Z 
 +last reload attempt: 2020-06-03T17:​28:​29.795208Z
 </​code>​ </​code>​
  
 ===== Tipy ===== ===== Tipy =====
  
-Na stránce [[cs:​tech:​idp:​shibboleth:​tips]] naleznete některé zajímavé konfigurační tipy, které by vás mohly zajímat, proto se na stránku určitě podívejte.+Na stránce [[cs:​tech:​idp:​shibboleth:​advanced]] naleznete některé zajímavé konfigurační tipy, které by vás mohly zajímat, proto se na stránku určitě podívejte.
  
 ===== Vzhled ===== ===== Vzhled =====
Last modified:: 2020/01/15 11:22