Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verze Obě strany příští revize | ||
cs:tech:wayf:sp [2017/11/02 13:56] jop@cesnet.cz [Nastavení nutnosti přihlášení] pryč s fosilní verzí Shibboleth SP |
cs:tech:wayf:sp [2019/07/10 10:39] chvojka@cesnet.cz |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== WAYF/DS - návod pro správce SP ====== | ====== WAYF/DS - návod pro správce SP ====== | ||
- | Obecný popis služby WAYF/DS najdete na [[:cs:tech:wayf|této stránce]]. Tento návod popisuje, jakým způsobem je možné ovlivnit chování služby WAYF/DS tak, aby ještě lépe vyhovovala individuálním potřebám právě Vaší služby. Služba WAYF/DS v základním nastavení zobrazuje seznam všech institucí, se kterými je samotná služba registrována ve stejné federaci. Pokud chceme zobrazit jiný výběr institucí je potřeba využít generátor filtrů. | + | Obecný popis služby WAYF/DS najdete na [[:cs:tech:wayf|této stránce]]. Tento návod popisuje, jakým způsobem je možné ovlivnit chování služby WAYF/DS tak, aby ještě lépe vyhovovala individuálním potřebám právě Vaší služby. Služba WAYF/DS v základním nastavení zobrazuje seznam všech institucí, se kterými je samotná služba registrována ve stejné federaci. Pokud chcete zobrazit jiný výběr institucí, je potřeba využít generátor filtrů. |
===== Generátor filtrů ===== | ===== Generátor filtrů ===== | ||
Řádek 25: | Řádek 25: | ||
</code> | </code> | ||
- | Soubor wayf-filter.txt obsahuje filtr vytvořený generátorem: | + | Soubor ''wayf-filter.txt'' obsahuje filtr vytvořený generátorem: |
<code> | <code> | ||
eyAgImFsbG93SG9zdGVsIjogdHJ1ZSwgImFsbG93SG9zdGVsUmVnIjogZmFsc2V9 | eyAgImFsbG93SG9zdGVsIjogdHJ1ZSwgImFsbG93SG9zdGVsUmVnIjogZmFsc2V9 | ||
Řádek 33: | Řádek 33: | ||
Pole zaškrtávacích tlačítek "Vyberte skupiny" slouží ke zobrazení poskytovatelů identit z organizací registrovaných v uvedených federacích ([[:|eduID.cz]], [[http://www.edugain.org|eduGAIN]], atd.). Pokud nezvolíte žádnou skupinu, bude WAYF/DS zobrazovat pouza ta IdP, která jsou ve federaci s Vaší službou (ve většině případů tedy IdP z federace eduID.cz). Tuto skupinu je možné dále omezit zobrazením pouze vybraných IdP vizte dále. | Pole zaškrtávacích tlačítek "Vyberte skupiny" slouží ke zobrazení poskytovatelů identit z organizací registrovaných v uvedených federacích ([[:|eduID.cz]], [[http://www.edugain.org|eduGAIN]], atd.). Pokud nezvolíte žádnou skupinu, bude WAYF/DS zobrazovat pouza ta IdP, která jsou ve federaci s Vaší službou (ve většině případů tedy IdP z federace eduID.cz). Tuto skupinu je možné dále omezit zobrazením pouze vybraných IdP vizte dále. | ||
+ | |||
+ | ==== Filtrování pomocí entity kategorií ==== | ||
+ | |||
+ | Zobrazený seznam lze filtrovat podle hodnoty entity kategorie. Ze šedého rámečku přetáhněte příslušnou entity kategorii do zeleného nebo červeného rámečku. Zelený rámeček funguje jako pozitivní filtr. Zobrazená IdP musí mít nastaveny všechny entity kategorie v zeleném rámečku. Červený filtr funguje jako negativní filtr. Zobrazená IdP nesmí mít žádnou entity kategorii z červeného rámečku. | ||
==== Filtrování jednotlivých organizací/IdP ==== | ==== Filtrování jednotlivých organizací/IdP ==== | ||
Řádek 38: | Řádek 42: | ||
Pole zaškrtávacích tlačítek "Vyberte IdP" slouží k jemnějšímu nastavení povolených organizací na Vaší službě. Můžete buď vybrat jednotlivá IdP, která se zobrazí, nebo nechat zobrazit všechna IdP kromě vybraných.Tento seznam lze generovat pro každou skupinu IdP zvlášť. | Pole zaškrtávacích tlačítek "Vyberte IdP" slouží k jemnějšímu nastavení povolených organizací na Vaší službě. Můžete buď vybrat jednotlivá IdP, která se zobrazí, nebo nechat zobrazit všechna IdP kromě vybraných.Tento seznam lze generovat pro každou skupinu IdP zvlášť. | ||
- | ==== Přístup uživatelů z organizací nezapojených do eduID.cz ==== | + | ==== Přístup uživatelů z organizací nezapojených do federace ==== |
Pokud chcete dát ke svým stránkám přístup i uživatelům, kteří nejsou z organizací připojených do žádné federace identit (eduID.cz, eduGAIN, ...), můžete využít speciálního poskytovatele identity "Hostel IdP". V tomto případě zaškrtněte volbu "Umožnit použití Hostel IdP" v sekci "Přidejte Hostel IdP". Vaše služba musí být nejprve nakonfigurována tak, aby uživatele ověřené přes Hostel IdP dokázal přijmout (tzn. [[https://hostel.eduid.cz/cs/tech/index.html|stahovat metadata]] Hostelu). Pokud chcete umožnit uživatelům zakládat si účty na Hostelu přímo z prostředí WAYFu, zaškrtněte volbu "Dovolit uživatelům vytvoření nového účtu na Hostel IdP". | Pokud chcete dát ke svým stránkám přístup i uživatelům, kteří nejsou z organizací připojených do žádné federace identit (eduID.cz, eduGAIN, ...), můžete využít speciálního poskytovatele identity "Hostel IdP". V tomto případě zaškrtněte volbu "Umožnit použití Hostel IdP" v sekci "Přidejte Hostel IdP". Vaše služba musí být nejprve nakonfigurována tak, aby uživatele ověřené přes Hostel IdP dokázal přijmout (tzn. [[https://hostel.eduid.cz/cs/tech/index.html|stahovat metadata]] Hostelu). Pokud chcete umožnit uživatelům zakládat si účty na Hostelu přímo z prostředí WAYFu, zaškrtněte volbu "Dovolit uživatelům vytvoření nového účtu na Hostel IdP". | ||
Řádek 55: | Řádek 59: | ||
===== Nastavení přihlašování ===== | ===== Nastavení přihlašování ===== | ||
- | Wayf umožňuje pracovat se stránkami, které pro svůj přístup vyžadují přihlášeného uživatele, nebo | + | WAYF/DS umožňuje pracovat se stránkami, které pro svůj přístup vyžadují přihlášeného uživatele, nebo |
se stránkami, které umožňují přístup i nepřihlášenému uživateli a přihlášení se děje až na vyžádání. | se stránkami, které umožňují přístup i nepřihlášenému uživateli a přihlášení se děje až na vyžádání. | ||
==== Nastavení nutnosti přihlášení ==== | ==== Nastavení nutnosti přihlášení ==== | ||
- | Návod je vytvořen pro Shibboleth SP verze 2.5 a novější. | + | === Shibboleth SP === |
- | Stránky musí být pokryty nastavením mod_shib direktivy ShibRequire. V souboru ''shibboleth2.xml'' nahraďte v prvku ''<SSO discoveryProtocol="SAMLDS"...>'' stávající hodnotu atributu ''discoveryURL'' odkazem na novou DS službu: | + | V souboru ''shibboleth2.xml'' nastavte atribut ''discoveryProtocol'' u elementu ''<SSO>'' na URL služby WAYF/DS. |
+ | V případě zjednodušeného zápisu u novějších verzí SP: | ||
<code xml> | <code xml> | ||
<SSO discoveryProtocol="SAMLDS" | <SSO discoveryProtocol="SAMLDS" | ||
Řádek 69: | Řádek 74: | ||
SAML2 SAML1 | SAML2 SAML1 | ||
</SSO> | </SSO> | ||
+ | </code> | ||
+ | |||
+ | Konfigurace v //Apachi//: | ||
+ | |||
+ | <code apache> | ||
+ | <Location /shibboleth> | ||
+ | AuthType shibboleth | ||
+ | Require shibboleth | ||
+ | ShibRequestSetting requireSession 1 | ||
+ | </Location> | ||
+ | </code> | ||
+ | |||
+ | Musíte u Apache povolit modul //shib2//: | ||
+ | |||
+ | <code bash> | ||
+ | # Aktivace modulu pro Shibboleth SP v Apache | ||
+ | a2enmod shib2 | ||
+ | </code> | ||
+ | |||
+ | A následně nahrát znovu konfiguraci //Apache//: | ||
+ | <code bash> | ||
+ | # Restartování Apache pro načtení všech povolených modulů | ||
+ | service apache2 restart | ||
</code> | </code> | ||
Řádek 76: | Řádek 104: | ||
==== Přihlášení až na vyžádání (lazy session) ==== | ==== Přihlášení až na vyžádání (lazy session) ==== | ||
- | Session initiator nastavte stejně jako v případě nucené autentizace. Do stránky, která obsahuje odkaz na přihlášení, vložte odkaz ke stažení knihovny DS: | + | === Shibboleth SP === |
+ | |||
+ | U Shibboleth SP se přihlášení na vyžádání zařídí pouze změnou hodnoty ''requireSession'' z ''1'' na ''0'': | ||
+ | |||
+ | <code apache> | ||
+ | <Location /shibboleth> | ||
+ | AuthType shibboleth | ||
+ | Require shibboleth | ||
+ | ShibRequestSetting requireSession 0 | ||
+ | </Location> | ||
+ | </code> | ||
+ | |||
+ | ''<SSO>'' nastavte stejně jako v případě nucené autentizace. Do stránky, která obsahuje odkaz na přihlášení, vložte odkaz ke stažení javascriptové knihovny DS (soubor //ds.js//): | ||
<code html> | <code html> | ||
Řádek 86: | Řádek 126: | ||
</code> | </code> | ||
- | U shibbolethu do verze 2.4 včetně se URL session initiatoru uvádí v atributu ''Location'' elementu ''<SessionInitiator>'' v konfiguračním souboru ''shibboleth2.xml''. Vlastní odkaz na přihlášení by pak měl vypadat nějak takto: | + | U Shibbolethu se standardně používá pro přihlášení ''/Shibboleth.sso/Login'' a odkaz na přihlášení ve stránce tedy vypadá takto: |
<code html> | <code html> | ||
- | <a href="/Shibboleth.sso/DS" onclick="startOverlay(event)">Přihlásit</a> | + | <a href="/Shibboleth.sso/Login" onclick="startOverlay(event)">Přihlásit</a> |
</code> | </code> | ||
- | U shibbolethu od verze 2.5 je URL session initiatoru defaultně ''/Shibboleth.sso/Login''. Odkaz na přihlášení by pak měl vypadat nějak takto: | + | === SimpleSAMLphp === |
- | + | ||
- | <code html> | + | |
- | <a href="/Shibboleth.sso/Login" onclick="startOverlay(event)">Přihlásit</a> | + | |
- | </code> | + | |
U SimpleSamlPhP musí cíl odkazu ukazovat na stejnou hodnotu jako parametr ''discoURL'' v konfiguračním souboru ''authsources.php''. | U SimpleSamlPhP musí cíl odkazu ukazovat na stejnou hodnotu jako parametr ''discoURL'' v konfiguračním souboru ''authsources.php''. | ||
Řádek 115: | Řádek 151: | ||
<a href="/simplesaml/module.php/core/authenticate.php" onclick="startOverlay(event)">Přihlásit</a> | <a href="/simplesaml/module.php/core/authenticate.php" onclick="startOverlay(event)">Přihlásit</a> | ||
</code> | </code> | ||
+ | |||
+ | ===== Kontrola parametru return ===== | ||
+ | |||
+ | Z bezpečnostních důvodů kontroluje WAYF hodnotu parametru return. Je to URL, na které je přesměrován prohlížeč uživatele po vybrání IdP. Hodnota parametru musí odpovídat údaji v metadatech pro dané SP. Pokud se liší, vypíše WAYF chybové hlášení a neumožní uživateli pokračovat v přihlašování. | ||
+ | |||
+ |