OpenID Connect szolgáltató csatlakoztatása
Ezt az útmutatót akkor használja, ha az identitásszolgáltatója OpenID Connect protokollt beszél SAML helyett. Bármilyen OIDC-tanúsított kibocsátó működik — a Pocket ID, a Keycloak, az Auth0, a Zitadel, a Google Workspace és társaik ugyanezeket a lépéseket követik; csak az a hely tér el, ahol a szolgáltató ezeket az értékeket megjeleníti.
Előfeltételek
Szekció neve “Előfeltételek”- egy OIDC-szolgáltató, ahol klienst hozhat létre — jegyezze fel a
kliens-ID-ját és a kibocsátó URL-jét (az alap, amely alatt a
.well-known/openid-configurationdokumentum található), valamint a kliens titkát, ha a kliens a bizalmas fajtába tartozik (a nyilvános PKCE-klienseknek nincs ilyenük), - egy Control Center szerver, amelyet Ön igazgat (a szervertulajdonos).
Lépések
Szekció neve “Lépések”- Nyissa meg a Beállítások → Szerver → Egyszeri bejelentkezés oldalt, és váltson OpenID Connect-re.
- Adja meg a Kibocsátó URL-t és a Kliens-ID-t, valamint a Kliens titok (nem kötelező) mezőt, ha a szolgáltató adott ki ilyet. A Control Center a kibocsátó szabványos felfedezési dokumentumából deríti fel a végpontokat — nincs szolgáltatónkénti konfiguráció.
- A szolgáltatónál regisztrálja a
https://<your-server>/oidc/callbackátirányítást ehhez a klienshez. - Ha a csoportjai a
groups-tól eltérő claim alatt találhatók, állítsa be a Csoportok claim nevét; képezze le a csoportokat szerepekre, ha szeretné (az SSO soha nem adhatja meg a tulajdonos szerepkört). - Válassza ki a tagsági szabályzatot (automatikus hozzáadás minden munkaterülethez, vagy munkaterületenkénti meghívás megkövetelése), kapcsolja be az OpenID Connect használata a bejelentkezéshez lehetőséget, és nyomja meg a Kapcsolat mentése gombot.
- Nyomja meg a Kapcsolat tesztelése gombot — a szerver lekéri a kibocsátó felfedezési dokumentumát, és ellenőrzi annak végpontjait, így a zöld felugró értesítés azt jelenti, hogy a böngészős oda-vissza útvonalon kívül minden működik. A kliensregisztráció ellenőrzéséhez használja az alábbi ellenőrzőt.
- Jelentkezzen be: a webes csatlakozási képernyő a Bejelentkezés
ezzel: OpenID Connect lehetőséget mutatja, vagy nyissa meg
közvetlenül a
https://<your-server>/oidc/logincímet.
A claim-eket (e-mail, név, csoportok) a szerver az identitásszolgáltató
tokenvégpontjáról olvassa TLS-en keresztül — a böngésző soha nem
szolgáltatja őket, így helyi JWT-aláírás-ellenőrzés nem játszik szerepet.
A kliensnek engedélyezni kell az openid profile email hatókör kérését,
amely pontosan az, amit a Control Center kér.
Mivel a claim-eket kizárólag ez a TLS-csatorna hitelesíti, a kibocsátó
URL-nek https-nek kell lennie — egy nyílt szövegű kibocsátó lehetővé
tenné bármely a hálózaton elhelyezkedő támadó számára, hogy tömegesen
hamisítson identitásokat. A http csak loopback-kibocsátók (localhost,
127.0.0.1, ::1) esetén elfogadott, helyi fejlesztéshez.
A konfiguráció ellenőrzése erről az oldalról
Szekció neve “A konfiguráció ellenőrzése erről az oldalról”Az alábbi ellenőrző a böngészőjében fut. Közvetlenül lekéri a kibocsátója felfedezési dokumentumát, így ez az oldal soha nem látja azt, és a szerver szabályait alkalmazza: a dokumentummal egyező https-kibocsátót, a kibocsátó saját originján található végpontokat, a PKCE S256-ot és a klienstípusához szükséges token-hitelesítési módot. Kliens-ID-vel és szervercímmel meg tud nyitni egy próbabejelentkezést, amely megmutatja, hogy a kliens és annak átirányítási URI-ja regisztrálva van-e. Soha nem kéri a kliens titkát.
Runs in your browserYour browser fetches the discovery document straight from your issuer. Add a server address and it also asks that server which sign-in methods it offers. This site never receives what you type.
Test sign-in at your provider
- Your provider's sign-in or consent page: the client ID and redirect URI are registered. You can close the tab.
- An error at your provider: it names what to fix, usually a redirect URI that is not registered or an unknown client ID.
- Your server's "Sign-in failed" page: also a pass. The provider accepted the request and sent you back; your server refuses it only because this page started the sign-in, not your server.