SSO nustatymas su OneLogin¶
OneLogin palaiko OIDC. Jo išskirtinė savybė yra ta, kad konektoriaus tipas pasirenkamas iš katalogo kuriant programą ir vėliau negali būti pakeistas.
Šis gidas apima OneLogin pusę: programos kūrimą ir reikšmes, kurių reikia digna surinkimą. digna pusė — dashboard_config.toml, testavimas ir trikčių šalinimas — yra ta pati kiekvienam tiekėjui ir aprašyta Single Sign-On Overview.
Prieš pradėdami¶
| Reikalavimas | Pastabos |
|---|---|
| OneLogin vaidmuo | Sąskaitos savininkas arba administratorius, kuriam leidžiama pridėti programas |
| Subdomenas | pvz. yourcompany.onelogin.com |
| digna peradresavimo URI | URL, į kurį vartotojai grįžta po prisijungimo, pvz. https://digna.yourdomain.com/oidc/callback |
1 žingsnis: Sukurkite OIDC programą¶
- Prisijunkite prie OneLogin administravimo portalo
- Eikite į Applications → Applications
- Spustelėkite Add App
- Ieškokite
OpenId Connectir pasirinkite OpenId Connect (OIDC) konektorių - Nustatykite Display Name į
digna - Spustelėkite Save
Konektoriaus tipas nustatomas kūrimo metu
OneLogin turi atskiras katalogo įrašų eilutes SAML ir OIDC, ir programos negalima konvertuoti iš vieno į kitą. Jei netyčia pasirinkote SAML konektorių, ištrinkite programą ir pridėkite ją iš naujo — nėra nustatymo, kad būtų galima perjungti protokolus.
2 žingsnis: Konfigūruokite peradresavimo URI¶
- Atidarykite Configuration skirtuką
- Lauke Redirect URI's įrašykite savo digna callback URL:
- Pasirinktinai nustatykite Post Logout Redirect URIs į savo dashboard URL
- Spustelėkite Save
Vienas URI per eilutę
Skirtingai nuo tiekėjų, kurie tikisi kableliu atskirto sąrašo, OneLogin laukas Redirect URI's priima po vieną URI kiekvienoje eilutėje.
3 žingsnis: Nustatykite programos tipą ir autentifikacijos metodą¶
- Atidarykite SSO skirtuką
- Patikrinkite, kad Application Type būtų Web
- Nustatykite Token Endpoint → Authentication Method į POST (
client_secret_post) arba Basic (client_secret_basic)
Nesirinkite None
Jei autentifikacijos metodą nustatysite į None, programa taps viešu klientu be slaptojo rakto ir digna backend'o kodo mainai bus atmesti. Tinka arba POST, arba Basic.
4 žingsnis: Surinkite kredencialus¶
Vis dar SSO skirtuke:
- Client ID → tampa
DIGNA_OIDC_CLIENT_ID - Client Secret → tampa
DIGNA_OIDC_CLIENT_SECRET(spustelėkite Show client secret)
Puslapyje taip pat matyti Issuer URL, kuris patvirtina atradimo (discovery) URL kitame žingsnyje.
5 žingsnis: Priskirkite vartotojus¶
- Atidarykite Access skirtuką
- Pridėkite vaidmenis arba grupes, kurių nariai gali naudotis digna
- Spustelėkite Save
Nepriskirti vartotojai po prisijungimo yra atmetami
Kaip ir daugelyje tiekėjų, OneLogin pirmiausia autentifikuoja vartotoją, o antra patikrina jo teises. Nepriskirtas vartotojas sėkmingai prisijungia, bet po to jam yra uždrausta prieiga — tai atrodo kaip digna klaida, o ne kaip sprendimas dėl prieigos kontrolės.
6 žingsnis: Sudarykite discovery URL¶
Pakeiskite savo OneLogin subdomeną:
Pavyzdžiui:
/2 yra API versija
Dabartinė OneLogin OIDC įgyvendinimo vieta yra po /oidc/2/. Senesnė dokumentacija rodo /oidc/ be versijos, kuri nurodo pasenusią pirmąją versiją. Jei abejojate, palyginkite su Issuer URL SSO skirtuke — discovery URL yra issuer plius /.well-known/openid-configuration.
7 žingsnis: Konfigūruokite digna¶
Konfigūracija: dashboard/dashboard_config.toml¶
Konfigūracija: config.toml¶
[oidc.onelogin]
DIGNA_OIDC_CLIENT_ID = "a1b2c3d0-1234-5678-9abc-def012345678"
DIGNA_OIDC_CLIENT_SECRET = "<the client secret copied in Step 4>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://yourcompany.onelogin.com/oidc/2/.well-known/openid-configuration"
Raktas key abiejuose failuose turi sutapti — čia onelogin.
8 žingsnis: Testavimas¶
Paleiskite iš naujo backend'ą ir web serverį, tada atidarykite dashboard. Pilną patikrų sąrašą žr. Testing Login.
OneLogin trikčių šalinimas¶
redirect_uri nesutapo¶
Callback URL nėra įtrauktas į Configuration → Redirect URI's, arba įrašai buvo atskirti kableliais vietoje naujų eilučių.
invalid_client token žingsnyje¶
Token Endpoint → Authentication Method nustatytas į None, arba config.toml esantis kliento slaptažodis yra pasenęs. Atidarykite paslaptį SSO skirtuke ir palyginkite.
Programa nėra matoma vartotojams¶
Nėra priskirtos rolės arba grupės Access skirtuke.
404 atradimo (Discovery) URL¶
Neteisingas subdomenas arba URL praleidžia /oidc/2/. Palyginkite su Issuer URL, rodomu SSO skirtuke.
Žr. taip pat¶
- Single Sign-On Overview — konfigūracijos nuoroda, testavimas ir bendras trikčių šalinimas
- OneLogin: OpenID Connect