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ů

  1. V administraci WordPressu klikněte na záložku Pluginy a nahoře na stránce zvolte Intalace pluginů.

  2. 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

  1. Stáhněte si OpenID Connect Generic plugin, který je dostupný na stránce WordPress pluginů a na GitHubu.

  2. 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)

  1. Stáhněte si OpenID Connect Generic plugin, který je dostupný na stránce WordPress pluginů a na GitHubu.

  2. 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/.

  3. V administraci WordPressu klikněte na záložku Pluginy, vyberte plugin OpenID Connect Generic a klikněte na tlačítko Aktivovat.

  4. 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.

  1. Jděte na úvodní stránku veřejné testovací instance MojeID a za pomoci přítomného návodu si založte testovací účet.

  2. Přejděte na adresu https://mojeid.regtest.nic.cz/consumer_admin/. Zde klikněte na tlačítko Založení nové služby.

  3. 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.

  4. 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šte code. Následně klikněte na tlačítko Uložit.

  5. 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.

  6. Dále postupujte dle Konfigurace rozšíření.

4.1.1.1.2.2. Registrace produkční služby

  1. Založte si MojeID účet.

  2. Přejděte na adresu https://mojeid.cz/consumer_admin/. Zde klikněte na tlačítko Založení nové služby.

  3. 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.

  4. 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šte code. Následně klikněte na tlačítko Uložit.

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

  1. 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.

  2. 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 jsou profile phone address, pro více informací navštivte dokumentaci OpenID Connect a Příloha č. 1 – Seznam údajů pro předání (OpenID Connect).

  3. 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/

  4. 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.

  5. Odškrtněte políčko Enable Refresh Token a zaškrtněte Link Existing Users.

  6. 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 soubor oidc-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.