Przejdź do głównej zawartości

Połącz dostawcę OpenID Connect

Skorzystaj z tego poradnika, jeśli Twój dostawca tożsamości obsługuje OpenID Connect, a nie SAML. Każdy certyfikowany wystawca OIDC zadziała — Pocket ID, Keycloak, Auth0, Zitadel, Google Workspace i podobne przechodzą te same kroki; różni się tylko miejsce, w którym dostawca pokazuje wartości.

  • dostawca OIDC, u którego możesz utworzyć klienta — zanotuj jego identyfikator klienta oraz adres URL wystawcy (bazę, pod którą znajduje się dokument .well-known/openid-configuration), a także sekret klienta, jeśli klient jest typu poufnego (publiczni klienci PKCE go nie mają),
  • serwer Control Center, którym administrujesz (właściciel serwera).
  1. Otwórz Ustawienia → Serwer → Logowanie jednokrotne i przełącz na OpenID Connect.
  2. Wypełnij pola Adres URL wystawcy, Identyfikator klienta oraz Sekret klienta (opcjonalnie), jeśli dostawca go wydał. Control Center sam wykrywa punkty końcowe na podstawie standardowego dokumentu discovery wystawcy — bez konfiguracji dla poszczególnych dostawców.
  3. U dostawcy zarejestruj dla tego klienta adres przekierowania https://<your-server>/oidc/callback.
  4. Jeśli Twoje grupy znajdują się w claime o nazwie innej niż groups, ustaw nazwę Claim grup; w razie potrzeby zmapuj grupy na role (SSO nigdy nie może przyznać roli właściciela).
  5. Wybierz politykę członkostwa (automatyczne dodawanie do każdego obszaru roboczego albo wymaganie zaproszeń do poszczególnych obszarów), włącz Użyj OpenID Connect do logowania i naciśnij Zapisz połączenie.
  6. Naciśnij Przetestuj połączenie — serwer pobiera dokument discovery wystawcy i potwierdza jego punkty końcowe, więc zielone powiadomienie oznacza, że wszystko poza samą rundą przez przeglądarkę działa. Aby sprawdzić także rejestrację klienta, użyj weryfikatora poniżej.
  7. Wykonaj logowanie: ekran łączenia w przeglądarce pokazuje Zaloguj się przez OpenID Connect, albo otwórz bezpośrednio https://<your-server>/oidc/login.

Claims (e-mail, nazwa, grupy) są odczytywane przez Twój serwer z punktu końcowego tokenów wystawcy przez TLS — przeglądarka nigdy ich nie dostarcza, więc nie ma tu lokalnej weryfikacji podpisu JWT. Klient powinien mieć prawo do żądania zakresu openid profile email, o który dokładnie prosi Control Center.

Ponieważ ten kanał TLS jest jedynym elementem uwierzytelniającym claims, adres URL wystawcy musi używać https — wystawca działający jawnym tekstem pozwoliłby każdemu atakującemu po drodze masowo podrabiać tożsamości. Protokół http jest akceptowany wyłącznie dla wystawców działających na interfejsie loopback (localhost, 127.0.0.1, ::1), do lokalnego rozwoju.

Weryfikator poniżej działa w Twojej przeglądarce. Pobiera dokument discovery Twojego wystawcy bezpośrednio, więc ta strona nigdy go nie widzi, i stosuje reguły serwera: wystawcę https zgodnego z dokumentem, punkty końcowe w obrębie własnego origin wystawcy, PKCE S256 oraz metodę uwierzytelniania tokenu wymaganą przez Twój typ klienta. Mając identyfikator klienta i adres serwera, może otworzyć testowe logowanie, które pokazuje, czy klient i jego identyfikator URI przekierowania są zarejestrowane. Nigdy nie pyta o sekret klienta.

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.

Needed for the test sign-in.

Client type

Never paste the secret here. The check only needs to know whether one exists.

The address your users open. Adds a reachability check and a test sign-in.

Paste the discovery document instead

For providers that block other sites from reading it.