4.1.1.1. MojeID plugin pro WordPress¶
Důležité
Níže uvedený návod ještě dále testujeme. Budeme rádi, pokud se s námi podělíte o svoje zkušenosti s ním.
4.1.1.1.1. Instalace rozšíření¶
4.1.1.1.1.1. V administraci z repozitáře WordPress pluginů¶
V administraci WordPressu klikněte na záložku Pluginy a nahoře na stránce zvolte Intalace pluginů.
Vyhledejte plugin OpenID Connect Generic Client autora daggerhart, klikněte u něj na Instalovat a následně na Aktivovat. Dále postupujte podle Registrace služby do MojeID.
4.1.1.1.1.2. V administraci pomocí instalačního balíčku¶
Stáhněte si OpenID Connect Generic plugin, který je dostupný na stránce WordPress pluginů a na GitHubu.
V administraci WordPressu klikněte na záložku Pluginy a nahoře na stránce zvolte Intalace pluginů. Klikněte na tlačítko Nahrát plugin, zvolte stažený archiv a klikněte na Instalovat. Následně plugin aktivujte a postupujte podle Registrace služby do MojeID.
4.1.1.1.1.3. Nahráním souborů na server (např. FTP/SCP)¶
Stáhněte si OpenID Connect Generic plugin, který je dostupný na stránce WordPress pluginů a na GitHubu.
Stažený archiv extrahujte a celou složku přesuňte na server, na němž běží instance WordPressu, do složky
/wp-content/plugins/
.V administraci WordPressu klikněte na záložku Pluginy, vyberte plugin OpenID Connect Generic a klikněte na tlačítko Aktivovat.
V záložce Nastavení vyberte OpenID Connect Client a poznamenejte si řetězec Redirect URI, který naleznete vespodu stránky.
4.1.1.1.2. Registrace služby do MojeID¶
Pokud registrujete testovací službu, přejděte na sekci Registrace testovací služby. Pokud registrujete službu jdoucí do produkce, přejděte na sekci Registrace produkční služby.
4.1.1.1.2.1. Registrace testovací služby¶
Více informací o testovací instanci MojeID lze najít v sekci Testovací instance MojeID.
Jděte na úvodní stránku veřejné testovací instance MojeID a za pomoci přítomného návodu si založte testovací účet.
Přejděte na adresu https://mojeid.regtest.nic.cz/consumer_admin/. Zde klikněte na tlačítko Založení nové služby.
Vyplňte položku Název klienta a do položky Seznam URI pro přesměrování vložte řetězec adresy Redirect URI, který jste si poznamenali v posledním kroku instalace rozšíření do WordPressu.
V rozbalovací nabídce položky Přihlašovací metoda pro token endpoint vyberte
Přihlašovací údaje v těle požadavku
a do políčka Požadované typy odpovědí vepištecode
. Následně klikněte na tlačítko Uložit.Poznamenejte si řetězec znaků v poli ID klienta u služby, kterou jste právě vytvořili. Dále u služby klikněte na tlačítko Aktualizovat a poznamenejte si hodnotu položky Tajemství klienta.
Dále postupujte dle Konfigurace rozšíření.
4.1.1.1.2.2. Registrace produkční služby¶
Založte si MojeID účet.
Přejděte na adresu https://mojeid.cz/consumer_admin/. Zde klikněte na tlačítko Založení nové služby.
Vyplňte položku Název klienta a do položky Seznam URI pro přesměrování vložte řetězec adresy Redirect URI, který jste si poznamenali v posledním kroku instalace rozšíření do WordPressu.
V rozbalovací nabídce položky Přihlašovací metoda pro token endpoint vyberte
Přihlašovací údaje v těle požadavku
a do políčka Požadované typy odpovědí vepištecode
. Následně klikněte na tlačítko Uložit.Poznamenejte si řetězec znaků v poli ID klienta u služby, kterou jste právě vytvořili. Dále u služby klikněte na tlačítko Aktualizovat a poznamenejte si hodnotu položky Tajemství klienta.
4.1.1.1.3. Konfigurace rozšíření¶
V administraci WordPressu klikněte na záložku Nastavení a přejděte do sekce OpenID Connect Client. Zde vyplňte ID klienta, které jste získali během registrace služby, do pole Client ID a tajemství klienta do pole Client secret.
Vyplňte položku OpenID Scope v závislosti na tom, které informace po uživateli požadujete. Povinná je kategorie
openid
, pro přihlašování doporučujeme požadovat takéemail
. Dalšími možnostmi jsouprofile phone address
, pro více informací navštivte dokumentaci OpenID Connect a Příloha č. 1 – Seznam údajů pro předání (OpenID Connect).Vyplňte adresy endpointů v závislosti na tom, zda jde o testovací instanci, nebo o instanci jdoucí do produkce:
Konfigurace testovacích endpointů
Login Endpoint URL:
https://mojeid.regtest.nic.cz/oidc/authorization/
Userinfo Endpoint URL:
https://mojeid.regtest.nic.cz/oidc/userinfo/
Token Validation Endpoint URL:
https://mojeid.regtest.nic.cz/oidc/token/
Konfigurace produkčních endpointů
Login Endpoint URL:
https://mojeid.cz/oidc/authorization/
Userinfo Endpoint URL:
https://mojeid.cz/oidc/userinfo/
Token Validation Endpoint URL:
https://mojeid.cz/oidc/token/
Nastavte hodnoty položek Identity key, Nickname Key, Email Formatting a Display Name Formatting. Jako Identity Key a Nickname Key doporučujeme použít
email
a možnost Identify with User Name nechat odškrtnutou.Varování
Do těchto položek můžete vyplnit pouze hodnoty, které si od uživatele vyžádáte v OpenID Scope. Nelze tedy například například nastavit formát jména, pokud v OpenID Scope nevznášíte požadavek na scope
profile
.Odškrtněte políčko Enable Refresh Token a zaškrtněte Link Existing Users.
Nastavení uložte tlačítkem Save Changes.
4.1.1.1.3.1. Účty napojené na NIA¶
Je-li účet napojen na NIA, jsou všechny osobní údaje (jméno, adresy atp.) ověřené. Toho lze využít například k povolení vkládání komentářů pod příspěvky pouze ověřeným uživatelům, povolení přístupu na určité stránky pouze zletilým osobám nebo zasílání pošty pouze na ověřené adresy.
Vzorová implementace využití NIA je k nalezení zde v podobě pluginu, jenž automaticky schvaluje komentáře uživatelů, kteří jsou přihlášeni přes MojeID a mají svůj účet propojený se službami veřejné správy.
Důležité
Plugin slouží hlavně jako vzorová implementace a ukázka možností, jichž lze s MojeID dosáhnout. Neobsahuje tedy žádné WordPressové hooky, na které by se mohly napojovat další pluginy, a při implementaci je třeba buď tento plugin odpovídajícím způsobem upravit, nebo vytvořit vlastní.
4.1.1.1.3.2. Výzva k předávání údajů¶
V případě, že uživatel nepovolil předání nezbytných informací, jako je například email
, a zaškrtl možnost
Předávat při každém přihlášení, MojeID si tuto volbu zapamatuje a při každém dalším pokusu o přihlášení
dojde k chybě kvůli nepředaným informacím. Pro tento účel můžete využít require prompt addon, který při každém přihlášení vyzve uživatele k potvrzení předávaných informací.
Poznámka
Tento problém může uživatel odstranit přihlášením do účtu MojeID a odstraněním služby v sekci
Nastavení > Předávání údajů. Zde klikne na tlačítko —
u příslušné služby a zvolí Uložit.
Následně se může opět zkusit přihlásit a povolit předání všech potřebných informací.
Instalace addonu
Stáhněte si require prompt addon.
V adresáři WordPressu vytvořte složku
wp-content/mu-plugins/
, pokud již neexistuje. Přesuňte sem souboroidc-require-prompt-addon.php
.V nastavení OpenID Connect pluginu zaškrtněte možnost
Require prompt
a nastavení uložte.
4.1.1.1.3.3. Přihlášení pouze s účtem napojeným na NIA¶
Pokud chcete omezit okruh uživatelů, kteří se mohou přes MojeID přihlásit, pouze na ty, kteří mají svůj účet propojen s NIA,
zadejte do pole ACR values
řetězec http://eidas.europa.eu/LoA/substantial
, kterým se vyžádá úrověň záruky „značná“. Pro více informací o úrovni záruky
navštivte stránky Napojení MojeID na NIA a Žádost o ověření identity účtem napojeným na NIA.
Poznámka
Řetězec skutečně odkazuje na protokol http
, nikoli na https
.
Chcete-li po uživateli pro přihlášení vyžadovat úroveň záruky „vysoká“,
zaměňte hodnotu substantial
za high
. Pro běžné užití však úroveň „značná“ postačuje.