U systému DigiTool vyvíjeného firmou Ex Libris je implementována podpora autentizaci v prostředí Shibboleth/SAML. Využívá se Shibboleth Service Provider, doporučováno je použití aktuální verze Service Providera.
Implementace autentizace pomocí Shibboleth probíhá v těchto krocích:
Nastavení je zkodumentováno v manuálu Patron Directory Services Guide dostupném v Dokumentačním Centru Ex Libris. V následujícím textu jsou ještě doplněny podrobnosti.
Autentizační modul PDS podporuje zařazení uživatele pouze do jedné skupiny uživatelů, nepodporuje vícenásobné afiliace uživatelů. U organizací, kde uživatelé mají vícenásobné afiliace, je problém možné částečně řešit uživatelsky nastavitelnou primární afiliací na úrovni Identity Providera organizace. Při autorizaci pak DigiTool používá primární afiliaci nastavenou uživatelem u IdP.
Na straně Identity Providera budete pro Service Providera u Aleph potřebovat nastavit uvolňování atributů:
eduPersonPrincipalNamecneduPersonScopedAffiliation nebo eduPersonEntitlementmailczEduPersonStudySubjectInstalace Shibboleth Service Providera pro DigiTool je obdobná jako pro MetaLib.
Rozdíly oproti úpravám u DigiTool jsou následující:
Pro aplikaci DigiTool není nutná úprava úprava Shib_Application_ID na Shib-Application-ID ve skriptu shib.pl.
Pro aktivaci shibbolethové autentizace u PDS je potřeba změnit soubory httpd.conf a pds.conf (/exlibris/dtl/u3_1/dtle/apache/conf/). U DigiToolu je totiž konfigurace <Location /shib> oddělene v pds.conf (na rozdíl např. od Metalibu, kde konfigurace je právě v httpd.conf). Soubor shib.conf se nepoužívá.
Konfigurace PDS pro DigiTool je obdobná jako pro MetaLib.
Rozdíly oproti úpravám u DigiTool jsou následující:
V adresáři /apache/htdocs je nutné vytvořit symlink (odkazuje na pds_main v adresáři exlibris/dtl/d3_1/pds/program) pomocí příkazu:
apch mkdir shib cd shib/ mkdir $inst cd $inst ln -s <pdsroot>/program/pds_main pds_main
Výsledek pak vypadá např. takto:
lrwxrwxrwx 1 dtl exlibris 39 Apr xx xx:xx pds_main -> /exlibris/dtl/d3_1/pds/program/pds_main*
V konfiguračních souborech PDS proveďte následující úpravy. Namísto INSTITUTE uveďte vždy kód digitoolovské instituce.
Do souboru shib_INSTITUTE.conf přidejte:
[SHIB_ATTRIBUTES] HTTP_CN = name HTTP_SHIB_CUNIPERSONALID = source_id HTTP_CUNISTUDYPROGRAM = z312m_bor_dept_m [END]
Ne všechny normalizované atributy (uvedeny v oficiální dokumentaci DigiTool Configuration Guide), které má PDS posílat DigiToolu, jsou platné. V níže uvedeném příkladu jsou atributy name a source_id přebrány z Metalibu.
Vzorový tab.service.INSTITUTE.conf může vypadat např. takto:
[DEFAULTS] portal_name,DIGITOOL z312_con_lng,CZE expiry_date,today+2y [END] [LOAD_LOGIN] program = shib.pl params = shib_digitool.conf [END] [BOR_INFO] program = shib_bor_info.pl [END] [INSTITUTE_DISPLAY] code = DIGITOOL lang = ENG desc = Univerzita Karlova v Praze [END]
Pokud je u IdP Vaší organizace implementovaný Single Logout plug-in, můžete v sekci [SHIB_LOGOUT] uvést adresu IdP pro Single Logout, např.
[SHIB_LOGOUT] params = https://digitool.is.cuni.cz/shibboleth.sso/Logout [END]
Poznámka: www_server DigiToolu zruší všechny dotazy, které začínají na velké S, proto v SHIB_LOUGOUT adrese musí být tedy shibboleth s malým s.
Pro autorizaci k jednotlivým objektů v DigiToolu (přes klientskou aplikaci Meditor nebo hromadně přidáním access_rights.xml v modulu Management). Mapování HTTP_CUNISTUDYPROGRAM = z312m_bor_dept_m se řeší v samostatném souboru INSTITUTE.tags, který si vytvořte v adresáři conf_table:
[ATTRIBUTES_MAPPING]
z312m_bor_group_m,staff = bor_group_m,ST
[END]