Skonfiguruj SSO z PingOne¶
PingOne jest zgodny z OIDC. Dwie z jego wartości wymagają uwagi: environment ID, który występuje w każdym URL endpointu, oraz domena regionalna, która różni się dla tenantów w Ameryce Północnej, Europie, Kanadzie, regionie Azji i Pacyfiku oraz Australii.
Ten przewodnik obejmuje stronę PingOne: tworzenie aplikacji i zebranie wartości, których potrzebuje digna. Strona digna — dashboard_config.toml, testowanie i rozwiązywanie problemów — jest taka sama dla każdego dostawcy i opisana w Przegląd Single Sign-On.
Zanim zaczniesz¶
| Wymaganie | Uwagi |
|---|---|
| Rola w PingOne | Environment Admin lub Identity Data Admin w docelowym środowisku |
| Środowisko | Środowisko PingOne, do którego należą użytkownicy digna |
| Redirect URI digna | URL, na który użytkownicy wracają po logowaniu, np. https://digna.yourdomain.com/oidc/callback |
Krok 1: Utwórz aplikację¶
- Zaloguj się do konsoli administracyjnej PingOne i wybierz swoje środowisko
- Przejdź do Applications → Applications
- Kliknij przycisk +
- Wpisz
dignajako Application Name - Wybierz OIDC Web App
- Kliknij Save
Wybierz OIDC Web App, a nie Single-Page App
Single-Page App i Native App tworzą klientów publicznych, którzy nie mogą przechowywać sekretu. digna wymienia kod autoryzacji z backendu i potrzebuje poufnego (confidential) typu OIDC Web App.
Krok 2: Skonfiguruj redirect URI¶
- Otwórz kartę Configuration aplikacji
- Kliknij ikonę ołówka, aby edytować
- Potwierdź, że Response Type to Code, a Grant Type to Authorization Code
- W sekcji Redirect URIs wpisz callback URL digna:
- Ustaw Token Endpoint Authentication Method na Client Secret Post lub Client Secret Basic
- Kliknij Save
Krok 3: Włącz aplikację¶
W wierszu aplikacji lub w jej panelu szczegółów przełącz przełącznik na enabled.
Nowe aplikacje są początkowo wyłączone
PingOne tworzy aplikacje w stanie wyłączonym. Wyłączona aplikacja powoduje na etapie autoryzacji błąd, który nie wspomina o przełączniku, więc warto to potwierdzić przed debugowaniem czegokolwiek innego.
Krok 4: Nadaj zakresy (scopes)¶
- Otwórz kartę Resources
- Potwierdź, że
openidjest nadany, i dodajprofileorazemailz zasobu OpenID Connect - Kliknij Save
Krok 5: Przypisz użytkowników¶
- Otwórz kartę Access
- Dodaj populację (population) lub grupy, których członkowie mogą korzystać z digna
- Kliknij Save
Krok 6: Zbierz poświadczenia i environment ID¶
Na karcie Configuration rozwiń General:
- Client ID → staje się
DIGNA_OIDC_CLIENT_ID - Client Secret → staje się
DIGNA_OIDC_CLIENT_SECRET(kliknij ikonę oka) - Environment ID → trafia do discovery URL
Ta sama karta zawiera gotowy OIDC Discovery Endpoint, który możesz skopiować bezpośrednio zamiast składać go ręcznie.
Krok 7: Zbuduj discovery URL¶
Podstaw environment ID i domenę dla swojego regionu:
| Region | Domena |
|---|---|
| Ameryka Północna | auth.pingone.com |
| Europa | auth.pingone.eu |
| Kanada | auth.pingone.ca |
| Azja i Pacyfik | auth.pingone.asia |
| Australia | auth.pingone.com.au |
Dla środowiska europejskiego:
Skopiuj zamiast przepisywać
Domena regionalna to najczęstszy błąd w integracji z PingOne, a zły region daje błąd 404 zamiast pomocnego komunikatu. Użyj wartości OIDC Discovery Endpoint z Kroku 6.
Krok 8: Skonfiguruj digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc_clients.pingone]
DIGNA_OIDC_CLIENT_ID = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
DIGNA_OIDC_CLIENT_SECRET = "<the client secret copied in Step 6>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://auth.pingone.eu/12345678-1234-1234-1234-123456789012/as/.well-known/openid-configuration"
Klucz key w obu plikach musi się zgadzać — tutaj pingone.
Krok 9: Testowanie¶
Zrestartuj backend i serwer WWW, a następnie otwórz dashboard. Zobacz Testowanie logowania po pełną listę kontrolną.
Rozwiązywanie problemów z PingOne¶
404 dla discovery URL¶
Domena regionalna lub environment ID są błędne. Porównaj z OIDC Discovery Endpoint pokazanym na karcie Configuration aplikacji.
NOT_FOUND lub aplikacja wyłączona¶
Przełącznik aplikacji z Kroku 3 jest nadal wyłączony.
Niezgodność redirect URI¶
PingOne dopasowuje cały ciąg znaków. Sprawdź w Configuration → Redirect URIs, czy nie ma końcowego ukośnika lub różnicy w schemacie.
Logowanie się udaje, ale claim email nie dociera do digna¶
Zakresy email i profile nie zostały nadane na karcie Resources.
Użytkownik nie widzi aplikacji¶
Żadna populacja ani grupa nie otrzymała dostępu na karcie Access.
Zobacz także¶
- Przegląd Single Sign-On — odniesienie konfiguracyjne, testowanie i ogólne rozwiązywanie problemów
- PingOne: OIDC application configuration