Configure OpenID Connect with Okta¶
OpenId Connect (OIDC) je vrstva identity a ověřování postavená na autorizačním rámci OAuth2. Tato příručka vysvětluje, jak nastavit OIDC s Okta jako platformou identity pro DHIS 2.
OIDC is useful for Single Sign-On across multiple applications and systems, where a user can sign in once and then access many DHIS 2 instances and other type of systems. For sysadmins, OIDC allows for maintaining usernames, passwords and user deactivation in a single place.
OIDC je podporováno DHIS 2 a lze jej nakonfigurovat v konfiguračním souboru dhis.conf. Vyhrazená konfigurační syntaxe je k dispozici pro konkrétní poskytovatele identit včetně Google, Azure a WSO2. V této příručce bude ke konfiguraci Okta použit generic provider.
Okta je oblíbená platforma pro správu identit a přístupu, která podporuje protokol OIDC. Tento tutoriál vysvětlí, jak nastavit OIDC s Okta pro DHIS 2. Viz DHIS 2 OIDC instalační příručka, kde najdete podrobnosti.
This guide assumes a DHIS 2 instance running at http://localhost:8080. The guide refers to a provider key which in this case is okta.
Sign up for an Okta developer account¶
V tomto kroku se zaregistrujeme do bezplatné zkušební verze Okta pro vývojáře.
- Přejděte na registraci zkušební verze Okta: https://developer.okta.com/signup/
- Zadejte svůj pracovní e-mail, jméno, příjmení a zemi. Všimněte si, že zadaný e-mail se stane uživatelským jménem služby Okta.
- Po přihlášení přejděte na Adresář > Lidé a všimněte si, že pro jméno a e-mail, které jste použili při registraci, existuje osoba (uživatel). E-mail bude později použit k mapování na uživatele DHIS 2. Později můžete vytvořit další uživatele.

Create Okta application integration¶
V tomto kroku vytvoříme integraci webové aplikace Okta.

- Přejděte na Aplikace > Aplikace.
- Klikněte na Vytvořit integraci aplikace.
- For Sign-in Method, select OIDC - OpenID Connect.
- For Application type, select Web application, and click Next.
- Do pole Název integrace aplikace zadejte popisný název, jako je název vaší instance DHIS 2, například DHIS 2 HMIS.
- For Grant type > Client acting on behalf of itself, enable Client Credentials.
- For Client acting on behalf of a user, do nothing and make sure Authorization Code is enabled and other options are disabled.
- Pro URI přesměrování přihlášení zadejte
http://localhost:8080/oauth2/code/okta. Vzor je{dhis2-base-URL}/oauth2/code/{provider-key}. Základní URL DHIS 2 jehttp://localhost:8080a klíč poskytovatele jeokta. - Ponechte pole Důvěryhodný původ prázdné.
- For Assignments, select Allow everyone in your organization to access.
- Klikněte Uložit.
- Na záložce Přiřazení v přehledu aplikací se ujistěte, že jsou přiřazeni relevantní lidé.
Take note of Okta settings¶
V tomto kroku si vezmeme na vědomí příslušná nastavení a přihlašovací údaje Okta.

- Na obrazovce s přehledem aplikace přejděte na kartu Obecné.
- Poznamenejte si následující nastavení kliknutím na tlačítka Kopírovat do schránky. Tato nastavení budou později použita v konfiguračním souboru DHIS 2. Nastavení by měla být považována za tajná a uložena bezpečným způsobem.
- Client ID
- Client secret
- Okta doména
- Odhlaste se z portálu Okta, abyste se mohli později znovu přihlásit.
Create DHIS 2 user¶
Abyste se mohli přihlásit do DHIS 2, musí být pro každou osobu Okta vytvořen uživatel DHIS 2. Uživatel DHIS 2 je mapován na osobu Okta prostřednictvím pole Hodnota mapování OIDC uživatele DHIS 2. Uživateli DHIS 2 lze jako obvykle přidělit uživatelské role, uživatelské skupiny a organizační jednotky.

- Přihlaste se do DHIS 2 pomocí běžného místního uživatele s oprávněním vytvářet uživatele.
- Přejděte na Aplikace > Uživatelé > Uživatelé.
- Vytvořte nového uživatele DHIS 2 nebo aktualizujte stávajícího uživatele.
- Uživatelské jméno může být libovolné uživatelské jméno. Pro nové uživatele DHIS 2 se doporučuje (ale není to nutné) používat uživatelské jméno Okta.
- Povolit Pouze externí ověřování (OpenID nebo LDAP).
- Zadejte Příjmení a Jméno uživatele.
- Pro hodnotu mapování OIDC zadejte uživatelské jméno (e-mail) Okta. Tato hodnota se používá k mapování uživatele DHIS 2 na uživatele Okta.
- Vyberte příslušné uživatelské role a organizační jednotky.
- Klikněte Uložit.
Configure DHIS 2¶
V tomto kroku nakonfigurujeme instanci DHIS 2 pro autentizaci s Okta prostřednictvím konfiguračního souboru dhis.conf DHIS 2.
- Vyhledejte dříve uvedená nastavení Okta. Všimněte si, že
oktav klíčích vlastností odkazuje na klíč poskytovatele zadaný v integraci aplikace Okta. - Vyhledejte konfigurační soubor
dhis.confpro instanci DHIS 2. - Zadejte vlastnosti popsané níže. Nahraďte následující tři proměnné (uzavřené v závorkách) skutečnými hodnotami pro vaše prostředí.
- ID klienta /
{client_id}. Příklad:0kh6yTgRg45191j97H6y. - Tajný klíč klienta /
{client_secret}. Příklad:xJh6ybgh5yajTku7qE35F5h8hj8km7yG-Hj61j49. - Klientská doména /
{client_domain}. Příklad:dev-123.okta.com.
- ID klienta /
# Povolení OIDC
oidc.oauth2.login.enabled = on
# Okta OIDC nastavení
oidc.provider.okta.client_id = {client_id}
oidc.provider.okta.client_secret = {client_secret}
oidc.provider.okta.mapping_claim = email
oidc.provider.okta.display_alias = Přihlášení přes Okta
oidc.provider.okta.enable_logout = on
oidc.provider.okta.scopes = email
oidc.provider.okta.authorization_uri = https://{client_domain}/oauth2/v1/authorize
oidc.provider.okta.token_uri = https://{client_domain}/oauth2/v1/token
oidc.provider.okta.user_info_uri = https://{client_domain}/oauth2/v1/userinfo
oidc.provider.okta.jwk_uri = https://{client_domain}/oauth2/v1/keys
oidc.provider.okta.end_session_endpoint = https://{client_domain}/oauth2/v1/logout
- Pamatujte, že při odhlášení z DHIS 2 výše uvedená konfigurace odhlásí uživatele také z Okta. Abyste zajistili, že uživatel bude odhlášen pouze z DHIS 2, použijte místo toho vlastnost a hodnotu popsanou níže.
oidc.provider.okta.end_session_endpoint = /dhis-web-commons-security/logout.action
- Restartujte instanci DHIS 2, aby se změny projevily.
- Tip: Tyto hodnoty lze získat z Okta s cestou URL
/.well-known/openid-configuration, např.https://dev-123-admin.okta.com/.well-known/openid-configuration.
Sign in to DHIS 2 with Okta¶
V tomto kroku otestujeme nastavení a přihlásíme se do DHIS 2 pomocí Okta.

- Navigate to the DHIS 2 login page. A button labelled Sign in with Okta should appear on the login page.
- Klikněte na tlačítko Přihlásit se pomocí Okta. Měli byste být přesměrováni na přihlašovací stránku Okta. Všimněte si, že pokud jste stále přihlášeni k Okta, budete automaticky přihlášeni k DHIS 2.
- Zadejte uživatelské jméno a heslo Okta pro dříve vytvořený účet a klikněte na Přihlásit se. Měli byste být přesměrováni do instance DHIS 2 a být automaticky přihlášeni jako uživatel DHIS 2 vytvořený dříve.
- Tip: For IdP-initiated SSO, that is, logging in to Okta and navigating to the DHIS 2 landing page without going through the DHIS 2 login page, you can use the following web URL for DHIS 2:
http://localhost:8080/oauth2/authorization/okta.
Shrnutí¶
V tomto okamžiku byste měli být automaticky přihlášeni do DHIS 2 přes Okta, aniž byste zadali jakékoli přihlašovací údaje DHIS 2.
Tato příručka vysvětluje, jak nastavit aplikaci a uživatele Okta, nastavit uživatele DHIS 2 namapovaného na uživatele Okta, jak nakonfigurovat DHIS 2 pro Okta OIDC a jak se přihlásit pomocí Okta. Můžete opakovat kroky uživatele a konfigurace DHIS 2 pro další instance DHIS 2, abyste je zahrnuli do nastavení jednotného přihlášení.