cs:tech:wayf:sp

eduID.cz Discovery Service - Instruction manual for SP administrators

Properties and general description can be found on this page.

Identity Providers list filtering

Filter generator can be found on page https://ds.eduid.cz/filter.php.

Bez použití filtrování se každému uživateli zobrazí jen ti identity provideři, se kterými je daný service provider ve stejném souboru metadat na centrálním distribučním bodě metadat. Pokud chcete seznam identity providerů, kteří se budou nabízet vašim uživatelům omezit nebo naopak rozšířit, musíte použít filtrování. Filtr lze předat do WAYFu buď přímo - jako hodnota parametru filter, nebo nepřímo, jako hodnota parametru efilter, která obsahuje url souboru s hodnotou filteru.

Použití externího filtru je vhodné u rozsáhlých filtrů. Některé servery mají totiž omezenou velikost GET parametrů - např u PhP/Suhosin to bývá omezení na 255 znaků. Do těchto 255 znaků se musí kromě filtru vejít ještě další parametry potřebné ke správné funkci WAYFu.

Filter usage example:

filter=eyAgImFsbG93SG9zdGVsIjogdHJ1ZSwgImFsbG93SG9zdGVsUmVnIjogZmFsc2V9

External filter usage example:

efilter=www.example.com/filter

Obsah www.example.com/filter je pak

eyAgImFsbG93SG9zdGVsIjogdHJ1ZSwgImFsbG93SG9zdGVsUmVnIjogZmFsc2V9

Filtering of groups of Identity Providers

Pole zaškrtávacích tlačítek „Feeds“ slouží k nastavení přístupu pro identity providery, se kterými jste v některém souboru metadat. Pokud nezaškrtnete žádnou z uvedených skupin identity providerů, bude vašim uživatelům nabízen seznam identity providerů ze skupin, ve kterých jsou metadata vašeho service providera. Toto nastavení je možné deaktivovat přímým nastavením identity providerů v poli „IdPs“. Filtr je možné deaktivivat nastavením alespoň jednoho identity providera v poli „IdPs“.

Filtering of single Identity Providers

Pole zaškrtávacích tlačítek „IdPs“ slouží k nastavení přístupu k jednotlivým identity providerům. Pokud je některý identity provider z tohoto seznamu zaškrtnut, ignoruje se nastavení pole „Feeds“. Uživateli se při přihlašování zobrazí pouze tito vybraní identity provideři.

Přístup uživatelů z organizací nezapojených do eduID.cz

Pokud chcete dát ke svým stránkám přístup i uživatelům, kteří nejsou z organizací připojených k eduID.cz, můžete využít speciálního identity providera „Hostel IdP“. V tomto případě zaškrtněte volbu „Use Hostel IdP“. Váš service provider musí být nejprve nakonfigurován tak, aby uživatele ověřené přes Hostel IdP dokázal přijmout. Pokud Chcete umožnit uživatelům zakládat si účty na Hostelu přímo z prostředí Wayfu, zaškrtněte volbu „Allow Hostel registration“.

Examples

Filtr pro použití Hostel IdP bez možnosti vytváření účtů

filter=eyAgImFsbG93SG9zdGVsIjogdHJ1ZSwgImFsbG93SG9zdGVsUmVnIjogZmFsc2V9

Filtr pro použití Hostel IdP s možností vytváření účtů

filter=eyAgImFsbG93SG9zdGVsIjogdHJ1ZSwgImFsbG93SG9zdGVsUmVnIjogdHJ1ZX0=

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 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í

Návod je vytvořen pro Shibboleth SP

Stránky musí být pokryty nastavením mod_shib direktivy ShibRequire. V souboru shibboleth2.xml nahraďte v prvku <SessionInititor type=„SAMLDS“…> stávající hodnotu atributu URL odkazem na novou DS službu:

<SessionInitiator type="Chaining" Location="/DS" isDefault="false" id="DS">
    <SessionInitiator type="SAML2" template="bindingTemplate.html"/>
    <SessionInitiator type="Shib1"/>
    <SessionInitiator type="SAMLDS" URL="https://ds.eduid.cz/wayf.php"/>
</SessionInitiator>

Pokud využíváte filtrování, uveďte filtr jako parametr URL session initiatoru:

<SessionInitiator type="Chaining" Location="/DS" isDefault="false" id="DS">
    <SessionInitiator type="SAML2" template="bindingTemplate.html"/>
    <SessionInitiator type="Shib1"/>
<SessionInitiator type="SAMLDS" URL="https://ds.eduid.cz/wayf.php?filter=eyJhbGxvd0hvc3RlbCI6dHJ1ZSwiYWxsb3dIb3N0ZWxSZWciOnRydWV9Cg==&amp;lang=en"/>
</SessionInitiator>

V případě zjednodušeného zápisu u novějších verzí SP:

<SSO discoveryProtocol="SAMLDS" 
    discoveryURL="https://ds.eduid.cz/wayf.php?filter=eyJhbGxvd0hvc3RlbCI6dHJ1ZSwiYWxsb3dIb3N0ZWxSZWciOnRydWV9Cg==&amp;lang=en">
    SAML2 SAML1
</SSO>

To je vše. Při vstupu na stránku vyžadující autentizaci bude uživatel přesměrován na novou službu DS.

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:

<head>
 ...
 <script type="text/javascript" src="https://ds.eduid.cz/ds.js"></script>
 ...
</head>

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:

 <a href="/Shibboleth.sso/DS" onclick="startOverlay(event)">Přihlásit</a>

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:

 <a href="/Shibboleth.sso/Login" onclick="startOverlay(event)">Přihlásit</a>

U SimpleSamlPhP musí cíl odkazu ukazovat na stejnou hodnotu jako parametr discoURL v konfiguračním souboru authsources.php.

Ukázka konfigurace authsources.php:

'default-sp' => array(
    'saml:SP',
    'entityID' => 'https://sp.example.com/simplesaml/',
    'idp' => NULL,
    'discoURL' => 'https://ds.eduid.cz/wayf.php',
    'privatekey' => 'example.key'
),

a příklad příslušného odkazu na přihlášení pro SimpleSamlPhP:

<a href="/simplesaml/module.php/core/authenticate.php" onclick="startOverlay(event)">Přihlásit</a>
Poslední úprava: 2014/02/10 13:35