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.

Metoda uwierzytelniania OpenID Connect w FoxIDs

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:

  1. Wybierz środowisko, które ma ufać zewnętrznemu dostawcy.
  2. Otwórz Authentication i kliknij Add authentication.
  3. Wybierz Connect to OpenID Provider. Ten standardowy typ jest widoczny bez włączania Show all options.
  4. Skonfiguruj dostawcę i kliknij Create.

Wybór typu uwierzytelniania OpenID Connect

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 profile i email. FoxIDs automatycznie dodaje wymagany zakres openid.
  • 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.

Konfiguracja metody uwierzytelniania Google OpenID Connect

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.

Wykryty issuer OpenID Connect i klucze podpisujące

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.

Wybór źródła oświadczeń OpenID Connect

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.

Wybór metody uwierzytelniania klienta w endpoincie token

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.

Konfiguracja profilu metody uwierzytelniania OpenID Connect

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świadczenia auth_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

Twoja prywatność

Twoja prywatność

Używamy plików cookie, aby poprawić korzystanie z naszych stron internetowych. Kliknij przycisk „Akceptuj wszystkie pliki cookie”, aby wyrazić zgodę na ich użycie. Aby zrezygnować z nieistotnych plików cookie, kliknij „Tylko niezbędne pliki cookie”.

Odwiedź naszą politykę prywatności, aby dowiedzieć się więcej