Nastavite SSO z Okta¶
Okta je združljiva z OIDC, z eno posebnostjo, ki zmede večino tistih, ki integrirajo prvič: Okta org razkriva več avtentikacijskih strežnikov, pri čemer ima vsak svoj discovery URL.
Ta vodič zajema Okta stran: ustvarjanje integracije aplikacije in zbiranje vrednosti, ki jih potrebuje digna. Digna stran — dashboard_config.toml, testiranje in odpravljanje napak — je enaka za vse ponudnike in je opisana v Pregled Single Sign-On.
Preden začnete¶
| Zahteva | Opombe |
|---|---|
| Vloga v Okta | Super Administrator, ali vloga skrbnika z dovoljenjem za ustvarjanje integracij aplikacij |
| Okta domena | npr. yourcompany.okta.com, ali prilagojena domena, če je nastavljena |
| digna redirect URI | URL, na katerega se uporabniki vrnejo po prijavi, npr. https://digna.yourdomain.com/oidc/callback |
1. korak: Ustvarite integracijo aplikacije¶
- Prijavite se v Okta Admin Console
- Pojdite na Applications → Applications
- Kliknite Create App Integration
- Izberite:
- Sign-in method: OIDC - OpenID Connect
- Application type: Web Application
- Kliknite Next
Tip aplikacije ni mogoče spremeniti
Če izberete Single-Page Application namesto Web Application, ustvarite javnega klienta brez skrivnosti, in dignajev strežnik za izmenjavo kode ne bo uspel z napako invalid_client. Tip je fiksiran ob ustvarjanju — napačna izbira pomeni brisanje aplikacije in začetek znova.
2. korak: Konfigurirajte integracijo¶
- Ime integracije aplikacije:
digna - Grant type: pustite izbran Authorization Code
- Sign-in redirect URIs: vnesite vaš digna callback URL:
- Sign-out redirect URIs: neobvezno
- Pod Assignments, izberite, kdo sme uporabljati integracijo — določena skupina je varnejša kot Allow everyone in your organization to access
- Kliknite Save
Dodelitev je obvezna
Okta avtenticira uporabnika in nato preveri, ali je dodeljen aplikaciji. Nedodeljen uporabnik pride do Okta strani za prijavo, se uspešno prijavi in mu je zavrnjen dostop ob preusmeritvi nazaj. Če se vam prijava uspe, sodelavcem pa ne, je prva stvar, ki jo preverite — dodelitev.
3. korak: Zberite poverilnice¶
Na zavihku General aplikacije, pod Client Credentials:
- Client ID → postane
DIGNA_OIDC_CLIENT_ID - Client secret → postane
DIGNA_OIDC_CLIENT_SECRET(kliknite ikono očesa za razkritje)
4. korak: Izberite avtentikacijski strežnik¶
To je korak, ki določi vaš discovery URL. Pojdite na Security → API, da vidite avtentikacijske strežnike v vaši organizaciji.
Org authorization server — izdaja žetone za samo Okta org:
Custom authorization server — vključno s tistim, ki ga Okta ustvari z imenom default:
Za vgrajeni strežnik je <auth_server_id> dobesedno default:
Kateri izbrati?
Uporabite org avtentikacijski strežnik, razen če vaša organizacija že standardizira na prilagojenem za politike dostopa do API-jev. Okta Developer računi privzeto uporabljajo default; mnoge podjetne organizacije ga onemogočijo. Odprite oba URL-ja v brskalniku — tisti, ki vrne JSON namesto napake, je tisti, ki je na voljo vam.
5. korak: Konfigurirajte digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc.okta]
DIGNA_OIDC_CLIENT_ID = "0oa1b2c3d4EXAMPLE5"
DIGNA_OIDC_CLIENT_SECRET = "<skrivnost odjemalca, kopirana v 3. koraku>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://yourcompany.okta.com/oauth2/default/.well-known/openid-configuration"
Ključ v obeh datotekah se mora ujemati — tukaj okta.
6. korak: Testirajte¶
Znova zaženite backend in spletni strežnik, nato odprite nadzorno ploščo. Oglejte si Testiranje prijave za celoten kontrolni seznam.
Odpravljanje težav z Okta¶
Preusmeritveni URI ni registriran¶
Okta v napaki navede problematični URI. Primerjajte ga z General → Sign-in redirect URIs; Okta primerja celoten niz, vključno z morebitno poševnico na koncu.
Uporabnik ni dodeljen aplikaciji¶
Račun ni na seznamu dodelitev aplikacije. Dodajte uporabnika ali njegovo skupino pod Assignments.
400 Bad Request: Invalid Authorization Server¶
<auth_server_id> v discovery URL-ju ne obstaja, najpogosteje default na organizaciji, kjer je bil odstranjen. Preverite Security → API za strežnike, ki so dejansko na voljo.
invalid_client pri koraku tokena¶
Integracija je bila ustvarjena kot Single-Page Application in nima skrivnosti klienta. Ustvarite jo znova kot Web Application.
Povezane vsebine¶
- Pregled Single Sign-On — referenca konfiguracije, testiranje in splošno odpravljanje težav
- Okta: OpenID Connect & OAuth 2.0