Ota SSO käyttöön Auth0:n kanssa¶
Auth0 on OIDC-yhteensopiva ja tarjoaa discovery-pisteen jokaista tenantia varten. Pääkysymys on saada tenantin domain oikein, sillä se näkyy discovery-URL:ssa ja muuttuu, jos otat käyttöön mukautetun domainin.
Tämä opas käsittelee Auth0-puolta: sovelluksen luomista ja arvojen keräämistä, joita digna tarvitsee. digna-puoli — dashboard_config.toml, testaus ja vianmääritys — on sama kaikille tarjoajille ja on kuvattu Single Sign-On Overview -sivuilla.
Ennen kuin aloitat¶
| Vaatimus | Huomautukset |
|---|---|
| Auth0 role | Tenantin ylläpitäjä |
| Tenant domain | esim. yourcompany.eu.auth0.com — alueen segmentti on olennaista |
| digna redirect URI | URL johon käyttäjät palaavat kirjautumisen jälkeen, esim. https://digna.yourdomain.com/oidc/callback |
Vaihe 1: Luo sovellus¶
- Kirjaudu sisään Auth0-hallintapaneeliin
- Siirry kohtaan Applications → Applications
- Klikkaa Create Application
- Nimeä se
dignaja valitse Regular Web Applications - Klikkaa Create
Valitse Regular Web Applications
Single Page Application ja Native luovat julkisia clientteja ilman salaisuutta. digna suorittaa koodinvaihdon omasta backendistaan ja tarvitsee salaisen clientin (confidential client), joten oikea tyyppi on Regular Web Applications. Toisin kuin jotkut tarjoajat, Auth0 antaa muuttaa tyyppiä myöhemmin kohdassa Settings → Application Type.
Vaihe 2: Lisää callback-URL¶
Sovelluksen Settings-välilehdellä:
- Etsi Allowed Callback URLs
- Syötä dignan callback-URL:
- Aseta halutessasi Allowed Logout URLs dashboard-osoitteeksesi
- Selaa alas ja klikkaa Save Changes
Erottele pilkuilla, älä rivinvaihdoilla
Auth0 hyväksyy useita callback-URL:eja tässä kentässä, erotettuna pilkuilla. Rivinvaihdoilla eroteltu lista luetaan yhdeksi virheelliseksi URL:ksi, eikä se vastaa mihinkään.
Vaihe 3: Kerää tunnistetiedot¶
Yhä Settings-välilehdellä, Basic Information -paneelissa:
- Domain → menee discovery-URL:iin
- Client ID → muuttuu
DIGNA_OIDC_CLIENT_ID:ksi - Client Secret → muuttuu
DIGNA_OIDC_CLIENT_SECRET:ksi (klikkaa näyttääksesi)
Vaihe 4: Vahvista Grant Type¶
- Siirry kohtaan Settings → Advanced Settings → Grant Types
- Varmista, että Authorization Code on valittuna
Se on oletuksena käytössä Regular Web Applications -tyyppisissä sovelluksissa. Jos se on poistettu valinnasta, dignan kirjautuminen epäonnistuu virheellä unauthorized_client.
Vaihe 5: Rakenna discovery-URL¶
Korvaa Step 3:n Domain:
Esimerkiksi:
Mukautetut domainit muuttavat issuer-arvoa
Jos tenantillasi on mukautettu domain kuten login.yourcompany.com, käytä sitä discovery-URL:ssa. Kahden eri domainin — canonical domain discovery-URL:ssa ja mukautettu domain selaimessa — sekoittaminen aiheuttaa issuer-epäsopivuuden, ja token hylätään muuten onnistuneen kirjautumisen jälkeen.
Vaihe 6: Konfiguroi digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc.auth0]
DIGNA_OIDC_CLIENT_ID = "aBcDeFgHiJkLmNoPqRsTuVwXyZ123456"
DIGNA_OIDC_CLIENT_SECRET = "<the client secret copied in Step 3>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://yourcompany.eu.auth0.com/.well-known/openid-configuration"
Molemmissa tiedostoissa oleva key-arvon pitää täsmätä — tässä tapauksessa auth0.
Vaihe 7: Testaa¶
Käynnistä backend ja web-palvelin uudelleen, avaa sitten dashboard. Katso täydellinen tarkistuslista Kirjautumisen testaus -kohdasta.
Auth0:n vianmääritys¶
Callback-URL-ristiriita¶
Auth0:n virhesivu näyttää sille annetun URL:n. Lisää se Allowed Callback URLs -kenttään ja varmista, että merkinnät on eroteltu pilkuilla.
unauthorized_client¶
Authorization Code ei ole valittuna kohdassa Advanced Settings → Grant Types, tai sovellustyyppi ei ole Regular Web Applications.
Pääsy estetty onnistuneen kirjautumisen jälkeen¶
Tenantissa oleva Rule, Action tai Post-Login-triggeri voi hylätä käyttäjän. Tarkista Actions → Flows → Login ja tenantin lokit kohdasta Monitoring → Logs, joista selviää tarkka syy.
Issuer-epäsopivuus¶
Discovery-URL ja se domain, johon selaimella ohjattiin, eroavat — yleensä canonical tenant -domain vs. mukautettu domain. Käytä samaa domainia johdonmukaisesti.
Katso myös¶
- Single Sign-On Overview — konfiguraatioviite, testaus ja yleinen vianmääritys
- Auth0: OpenID Connect Discovery