Metoda uwierzytelniania SAML 2.0
Metoda uwierzytelniania SAML 2.0 w FoxIDs, która ufa zewnętrznemu dostawcy tożsamości SAML 2.0 (IdP).
SAML (Security Assertion Markup Language) 2.0 to otwarty standard wymiany danych uwierzytelniania i autoryzacji pomiędzy
dostawcą tożsamości (IdP) a dostawcą usług (SP). Umożliwia Single Sign-On (SSO), dzięki czemu użytkownicy logują się raz i uzyskują dostęp do wielu aplikacji bez ponownego uwierzytelniania.
Obsługiwane są dwa przepływy SAML 2.0. SP-Initiated Login, który jest domyślny, najczęstszy i zalecany, oraz IdP-Initiated Login.
SAML 2.0 jest szeroko używany w środowiskach korporacyjnych, umożliwiając bezpieczną federację tożsamości między różnymi organizacjami i aplikacjami.
Konfigurując metodę uwierzytelniania SAML 2.0 oraz rejestrację aplikacji OpenID Connect, FoxIDs staje się mostem pomiędzy SAML 2.0 i OpenID Connect. FoxIDs obsłuży wtedy połączenie SAML 2.0 jako strona ufająca (RP) lub dostawca usług (SP), a Ty musisz zadbać tylko o OpenID Connect w aplikacji.
Można skonfigurować wiele metod uwierzytelniania SAML 2.0, które mogą być następnie wybierane przez rejestracje aplikacji OpenID Connect oraz rejestracje aplikacji SAML 2.0.
Skonfiguruj IdP-Initiated Login i przekazuj logowanie do aplikacji SAML 2.0 i OpenID Connect.
FoxIDs obsługuje powiązania SAML 2.0 redirect i post. Obsługiwane są profile SAML 2.0 dla logowania, wylogowania i single logout. Profil Artifact nie jest obsługiwany.
Metoda uwierzytelniania udostępnia metadane SAML 2.0 i może być skonfigurowana przy użyciu metadanych SAML 2.0 lub przez ręczne dodanie szczegółów konfiguracji.
Metadane SAML 2.0 generowane przez FoxIDs zawierają informacje o wylogowaniu i single logout tylko wtedy, gdy wylogowanie jest skonfigurowane w metodzie uwierzytelniania SAML 2.0.
FoxIDs obsługuje wszystkich dostawców tożsamości SAML 2.0 (IdP) i zostało przetestowane z szeroką gamą IdP.
Poradniki:
- Połącz PingIdentity / PingOne
- Połącz Google Workspace
- Połącz Microsoft AD FS
- Połącz NemLog-in (duński IdP)
- Połącz Context Handler (duński broker tożsamości)
- Połącz dwa środowiska FoxIDs w tym samym tenancie za pomocą Environment Link
Konfiguracja
Jak skonfigurować zewnętrznego dostawcę tożsamości SAML 2.0 (IdP).
Punkt końcowy metadanych metody uwierzytelniania SAML 2.0 w FoxIDs to
https://foxids.com/tenant-x/environment-y/(some_external_idp)/saml/spmetadata. Jeśli IdP jest skonfigurowany w tenancietenant-xi środowiskuenvironment-yz nazwą metody uwierzytelnianiasome_external_idp.
Poniższy zrzut ekranu pokazuje konfigurację metody uwierzytelniania SAML 2.0 w FoxIDs Control Client.
Konfiguracja jest tworzona na podstawie metadanych zewnętrznego IdP. Przekazywane oświadczenia są ograniczone do skonfigurowanego zestawu; domyślnie wszystkie oświadczenia są przekazywane z użyciem notacji *.
Więcej opcji konfiguracji staje się dostępnych po kliknięciu Show advanced.

Możesz zmieniać oświadczenia i wykonywać zadania oświadczeń za pomocą transformacji oświadczeń i zadań oświadczeń.
Konfiguracja ręczna staje się dostępna po wyłączeniu Automatic update. Wtedy IdP nie musi wystawiać ani wysyłać pliku metadanych, a konfigurację można wprowadzić ręcznie.

Jeśli tworzysz nowe oświadczenie, dodaj oświadczenie lub * (domyślnie) do listy Forward claims, aby przekazać oświadczenie do rejestracji aplikacji.
IdP-Initiated Login
SAML 2.0 IdP-Initiated Login to przepływ uwierzytelniania Single Sign-On (SSO), w którym proces rozpoczyna się u dostawcy tożsamości (IdP), a nie u dostawcy usług (SP). Ta metoda jest często używana w środowiskach korporacyjnych, aby umożliwić użytkownikom dostęp do wielu aplikacji po jednorazowym uwierzytelnieniu.
W przeciwieństwie do SP-Initiated Login, SP nie żąda uwierzytelnienia od IdP. IdP wysyła niezamówioną asercję SAML z własnej inicjatywy. Ta kluczowa różnica sprawia, że przepływ IdP-Initiated Login jest mniej bezpieczny niż SP-Initiated Login, dlatego IdP-Initiated Login jest domyślnie wyłączony w FoxIDs.
Włącz IdP-Initiated Login.
- Otwórz metodę uwierzytelniania SAML 2.0 w FoxIDs Control Client
- Kliknij Show advanced
- Przewiń na dół sekcji konfiguracji
- Włącz IdP-Initiated login
- Opcjonalnie zmień IdP-Initiated Login - OpenID Connect grant lifetime
- Kliknij Update

Następnie skonfiguruj metodę uwierzytelniania SAML 2.0 tak, aby ufała IdP w taki sam sposób, jak przy SP-Initiated Login.
IdP Relay State
Zewnętrzny IdP musi wysłać relay state, która określa aplikację, do której uwierzytelnienie ma zostać przekierowane.
Relay state musi zawsze zawierać nazwę aplikacji app_name i typ aplikacji app_type, a w niektórych przypadkach także adres przekierowania aplikacji app_redirect.
Elementy mają każdy nazwę i wartość, a ich kolejność jest rozdzielana przez &. Wartości adresu przekierowania muszą być zakodowane w URL. Wartość typu aplikacji może wynosić saml2 albo oidc.
Przykład .NET dla dostawcy tożsamości SAML 2.0 (IdP) AspNetCoreSamlIdPSample pokazuje, jak utworzyć IdP-Initiated Login z relay state.
Aplikacja SAML 2.0
Jeśli chcesz przekierować uwierzytelnienie do aplikacji SAML 2.0 o nazwie my-saml2-app, relay state to:
app_name=my-saml2-app&app_type=saml2
Spowoduje to przekierowanie żądania uwierzytelnienia do pierwszego punktu końcowego Assertion Consumer Service (ACS) skonfigurowanego dla aplikacji.
Jeśli chcesz przekierować uwierzytelnienie do innego skonfigurowanego punktu ACS https://my-domain.com/auth/acs2, relay state to:
app_name=my-saml2-app&app_type=saml2&app_redirect=https%3A%2F%2Fmy-domain.com%2Fauth%2Facs2
Wywołanie uwierzytelnienia jest przekazywane do aplikacji SAML 2.0 jako IdP-Initiated Login z niezamówioną odpowiedzią SAML 2.0 authn.
Aplikacja OpenID Connect
OpenID Connect nie obsługuje IdP-Initiated Login. Dlatego IdP-Initiated Login jest weryfikowany w metodzie uwierzytelniania i przekazywany do aplikacji OpenID Connect przez
wywołanie aplikacji z adresem przekierowania app_redirect, który powinien uruchomić przepływ logowania (standard OpenID Connect: Initiating Login from a Third Party).
Potrzebujesz strony w aplikacji OpenID Connect, która wymaga uwierzytelnienia i dlatego uruchamia przepływ logowania po wywołaniu.
W zapytaniu przekazywany jest parametr wystawcy iss, który możesz opcjonalnie zweryfikować.
Aplikacja OpenID Connect może wykonać ogólne żądanie logowania z *, a FoxIDs wie, gdzie przekierować żądanie logowania.
Następnie aplikacja OpenID Connect wywołuje FoxIDs, które odczytuje grant IdP-Initiated Login.
Alternatywnie, bez grantu IdP-Initiated Login zewnętrzny IdP jest wywoływany przepływem SP-Initiated Login.
Zewnętrzny IdP korzysta z kontekstu Single Sign-On (SSO) i odpowiada do FoxIDs.
Zaleca się używanie funkcji grantu IdP-Initiated Login, aby uniknąć dodatkowej rundy do zewnętrznego IdP.
SAML 2.0 IdP-Initiated Login jest następnie tłumaczony na OpenID Connect i przekierowuje uwierzytelnienie do aplikacji OpenID Connect.
Jeśli chcesz przekierować uwierzytelnienie do aplikacji OpenID Connect o nazwie my-oidc-app z adresem inicjującym logowanie https://my-domain.com/secure-page,
relay state to:
app_name=my-oidc-app&app_type=oidc&app_redirect=https%3A%2F%2Fmy-domain.com%2Fsecure-page
Adres przekierowania aplikacji musi być prawidłowym lub skonfigurowanym adresem URL dla aplikacji OpenID Connect.