Metoda uwierzytelniania OpenID Connect
Metoda uwierzytelniania OpenID Connect w FoxIDs łączy FoxIDs z zewnętrznym OpenID Provider (OP) lub Identity Provider (IdP). Zewnętrzny dostawca uwierzytelnia użytkownika, a FoxIDs działa jako Relying Party (RP) i udostępnia wynikową tożsamość wybranym rejestracjom aplikacji.
Można skonfigurować wiele metod uwierzytelniania OpenID Connect i wybierać je w rejestracjach aplikacji. Najważniejsze możliwości obejmują automatyczne discovery i aktualizacje kluczy podpisujących, Authorization Code Flow z PKCE, uwierzytelnianie klienta, konfigurowalne źródła oświadczeń, przekazywanie oświadczeń i ich transformację.
Konfiguracja
W FoxIDs Control:
- Wybierz środowisko, które ma ufać zewnętrznemu dostawcy.
- Otwórz Authentication i kliknij Add authentication.
- Wybierz Connect to OpenID Provider. Ten standardowy typ jest widoczny bez włączania Show all options.
- Skonfiguruj dostawcę i kliknij Create.

Przykład z Google
Ten przykład łączy się z Google przy użyciu authority:
https://accounts.google.com
Skonfiguruj metodę uwierzytelniania za pomocą:
- Opisowej wartości Name.
- Authority Google w polu Authority.
- Zakresów
profileiemail. FoxIDs automatycznie dodaje wymagany zakresopenid. - Włączonego Use PKCE.
- Client secret wydanego przez Google.
*w Forward claims, aby przekazywać wszystkie otrzymane oświadczenia.- Włączonego Read claims from the ID token instead of the access token w sekcji Show advanced.
Wymagane zakresy oraz potrzeba użycia dodatkowych zakresów różnią się między dostawcami. Skonfiguruj tylko zakresy wymagane przez zewnętrznego dostawcę i potrzebne aplikacjom do uzyskania informacji o użytkowniku.
Skopiuj Redirect URL wyświetlany przez FoxIDs i zarejestruj go jako autoryzowany redirect URI u zewnętrznego dostawcy. Google wydaje również client ID dla klienta OAuth. Włącz Show advanced i wprowadź tę wartość w Optional custom SP client ID. Jeśli niestandardowy client ID nie jest skonfigurowany, FoxIDs używa nazwy metody uwierzytelniania jako client ID.

Discovery i automatyczne aktualizacje
Po utworzeniu metody uwierzytelniania FoxIDs odczytuje dokument OpenID Connect discovery dostawcy pod adresem:
https://accounts.google.com/.well-known/openid-configuration
FoxIDs odczytuje issuer, klucze podpisujące i obsługiwane endpointy, w tym endpointy authorization, token, UserInfo i end-session, jeśli są dostępne. Otwórz ponownie metodę uwierzytelniania, aby sprawdzić wykryty issuer, klucze i endpointy.

FoxIDs okresowo ponownie odczytuje discovery i stosuje przyszłe zmiany endpointów oraz kluczy podpisujących. Jeśli discovery pozostaje niedostępne i automatyczne aktualizacje zostaną zatrzymane, zaktualizuj metodę uwierzytelniania w FoxIDs Control lub przez Control API, aby je uruchomić ponownie. Interwał aktualizacji można zmienić w Show advanced.
FoxIDs Control tworzy na podstawie discovery automatycznie aktualizowane metody uwierzytelniania. Control API obsługuje również ręcznie utrzymywane konfiguracje, w których issuer, klucze i endpointy są podawane bezpośrednio, a discovery nie jest wywoływane.
Oświadczenia i przekazywanie
Domyślnie FoxIDs weryfikuje ID token i odczytuje oświadczenia użytkownika z zewnętrznego access token. W Show advanced źródło oświadczeń można zamiast tego zmienić na:
- Read claims from the ID token instead of the access token.
- Read claims from the UserInfo Endpoint instead of the access token or ID token.
Opcja UserInfo używa zewnętrznego access token do wywołania wykrytego endpointu UserInfo. Te dwie alternatywy wzajemnie się wykluczają w FoxIDs Control.

Metoda uwierzytelniania przekazuje domyślne oświadczenia oraz oświadczenia wymienione w Forward claims do rejestracji aplikacji. Dodaj *, aby przekazywać wszystkie otrzymane oświadczenia; jest to ustawienie domyślne. Domyślnie przekazywane są sub, sid, acr i amr.
Dodaj access_token, aby udostępnić zewnętrzny access token rejestracjom aplikacji. Jeśli zewnętrzny dostawca zwraca refresh token, dodaj również refresh_token, aby go przekazać. Refresh token jest zwykle zwracany tylko podczas używania Authorization Code Flow i zakresu wymaganego przez dostawcę do dostępu offline, takiego jak offline_access.
Oświadczenia można wybierać, zmieniać ich nazwy, łączyć lub modyfikować w inny sposób za pomocą transformacji i zadań oświadczeń. Oświadczenie utworzone przez transformację pozostaje lokalne dla metody uwierzytelniania, chyba że zostanie uwzględnione w Forward claims lub użyto *.
Uwierzytelnianie klienta i PKCE
Metoda uwierzytelniania domyślnie używa Authorization Code Flow z PKCE. Domyślną metodą uwierzytelniania klienta w endpoincie token jest client secret post.
Włącz Show advanced, aby wybrać client secret basic lub private key JWT. W przypadku private key JWT zaimportuj certyfikat klienta po utworzeniu metody uwierzytelniania i zarejestruj odpowiadający mu klucz publiczny u zewnętrznego dostawcy.

Dostawca określa obsługiwane metody uwierzytelniania klienta i opcje PKCE. Użyj najsilniejszej konfiguracji obsługiwanej przez obie strony.
Profile
Profile umożliwiają jednej metodzie uwierzytelniania OpenID Connect udostępnianie alternatywnych wariantów logowania bez powielania całej konfiguracji dostawcy. Profil zachowuje ustawienia podstawowe metody uwierzytelniania i może:
- Dodawać zakresy specyficzne dla dostawcy do zakresów skonfigurowanych w metodzie uwierzytelniania.
- Dodawać parametry do żądania authorization lub zastępować dodatkowe parametry o tej samej nazwie skonfigurowane w metodzie uwierzytelniania.
Otwórz metodę uwierzytelniania, włącz Show advanced, wybierz kartę Profiles i kliknij Add Profile. Nadaj profilowi opisową wartość Name i unikatową wartość Technical name, a następnie skonfiguruj dodatkowe zakresy i parametry.
Poniższy przykład dodaje prompt=login, co powoduje, że zewnętrzny OpenID Provider ponownie uwierzytelnia użytkownika. Wartość custom_scope pokazuje, gdzie można dodać zakres specyficzny dla dostawcy. Zastąp ją zakresem obsługiwanym przez dostawcę albo pomiń, jeśli dodatkowy zakres nie jest wymagany.

W rejestracji aplikacji sama metoda uwierzytelniania i każdy profil są dostępne jako osobne opcje. Można zezwolić na metodę podstawową, jeden lub wiele profili albo oba warianty. Po wybraniu metody podstawowej ustawienia profilu nie są stosowane. Po wybraniu profilu FoxIDs łączy jego zakresy i dodatkowe parametry z konfiguracją podstawową.
Zaawansowane ustawienia dostawcy
Następujące ustawienia są dostępne w Show advanced:
- Optional custom SP client ID zastępuje nazwę metody uwierzytelniania używaną jako client ID. Użyj tej opcji, gdy dostawca wydaje lub wymaga określonego client ID.
- Edit issuers zastępuje issuer uzyskany z discovery jawną listą. Obsługuje to dostawców wydających tokeny od wielu issuerów przy użyciu tych samych kluczy podpisujących.
*akceptuje dowolnego issuera i powinno być używane wyłącznie wtedy, gdy takie zaufanie jest zamierzone. Zaakceptowany issuer jest dodawany do oświadczeniaauth_method_issuer. - Party binding pattern zmienia format adresu callback URL FoxIDs w celu zapewnienia interoperacyjności z dostawcą. FoxIDs domyślnie używa wzorca nawiasów
.../(auth-method)/...; obsługiwane są również wzorce z tyldami.../~auth-method~/...i kropkami.../.auth-method./.... - Response type, response mode, interwał aktualizacji discovery oraz ustawienia wylogowania i zaufania zapewniają dodatkową kontrolę protokołu.
Issuer i klucze podpisujące widoczne po utworzeniu pozostają tylko do odczytu podczas korzystania z wykrytego issuera. Włącz Edit issuers tylko wtedy, gdy dostawca wymaga konfiguracji issuera innej niż discovery.
Przewodniki
- Połącz z IdentityServer
- Połącz z Microsoft Entra ID
- Połącz z Azure AD B2C
- Połącz z Amazon Cognito
- Połącz z Google
- Połącz z Facebook
- Połącz z Signicat
- Połącz z Nets eID Broker