Rejestracja aplikacji SAML 2.0
Rejestracja aplikacji SAML 2.0 w FoxIDs umożliwia podłączenie aplikacji opartej na SAML 2.0.
SAML (Security Assertion Markup Language) 2.0 to standard uwierzytelniania i autoryzacji oparty na XML, który
umożliwia bezpieczne Single Sign-On (SSO) między dostawcą tożsamości (IdP) a dostawcą usług (SP).
Dwa przepływy SAML 2.0: SP-Initiated Login i IdP-Initiated Login są domyślnie obsługiwane.
Twoja aplikacja staje się stroną ufającą SAML 2.0 (RP), a FoxIDs działa jako dostawca tożsamości SAML 2.0 (IdP).
FoxIDs obsługuje powiązania SAML 2.0 redirect i post.
FoxIDs przekazuje również podpowiedź logowania z adresu URL żądania SAML Authn, używając parametru zapytania login_hint lub LoginHint, gdy żądanie nie zawiera NameID. Pozwala to stronom ufającym takim jak Microsoft Entra i Okta wstępnie wypełnić identyfikator użytkownika w doświadczeniu logowania FoxIDs.
Rejestracja aplikacji udostępnia metadane SAML 2.0, dzięki czemu aplikacja może wykryć dostawcę tożsamości SAML 2.0 (IdP).
Obsługiwane są profile SAML 2.0 dla logowania, wylogowania i single logout. Profil Artifact nie jest obsługiwany.
Metadane SAML 2.0 generowane przez FoxIDs zawierają informacje o wylogowaniu i single logout tylko wtedy, gdy wylogowanie jest skonfigurowane w rejestracji aplikacji SAML 2.0.
Poradniki:
Konfiguracja
Jak skonfigurować aplikację jako stronę ufającą SAML 2.0 (RP).
Punkty końcowe metadanych
- Metadane IdP:
https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/idpmetadata
(zastąptenant-x,environment-yiapplication-saml-pr1własnymi wartościami). - Alternatywny pojedynczy punkt końcowy: punkt końcowy Authn zwraca również metadane IdP, gdy jest wywoływany metodą
GETi bezSAMLRequest. Umożliwia to partnerom, którzy wymagają jednego adresu URL zarówno do pobierania metadanych, jak i do żądań Authn, używanie tego samego adresu, np.https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. Gdy ten sam punkt końcowy otrzyma żądanie SAML AuthnRequest (przez redirect lub post binding), wykonuje standardowy przepływ logowania.
Rejestracja aplikacji może obsługiwać logowanie przez wiele metod uwierzytelniania poprzez dodanie nazwy metody uwierzytelniania do adresu URL.
Na przykład https://foxids.com/tenant-x/environment-y/application-saml-pr1(login)/saml/idpmetadata (lub /saml/authn) kieruje do metody login.
Możesz też użyć domyślnej notacji *, aby włączyć logowanie wszystkimi metodami uwierzytelniania.
Poniższy zrzut ekranu pokazuje konfigurację rejestracji aplikacji FoxIDs SAML 2.0 w FoxIDs Control Client.
Konfiguracja jest tworzona na podstawie metadanych aplikacji. Wydawane oświadczenia są ograniczone do skonfigurowanego zestawu; wszystkie oświadczenia mogą być wydawane przy użyciu notacji *.
Więcej opcji konfiguracji staje się dostępnych po kliknięciu Show advanced.

Możesz zmieniać kolekcję oświadczeń SAML 2.0 i wykonywać zadania oświadczeń za pomocą transformacji oświadczeń i zadań oświadczeń. Jeśli tworzysz nowe oświadczenie, dodaj oświadczenie lub
*do listyIssue claims, aby wydać oświadczenie do aplikacji.
Wymuś uwierzytelnianie wieloskładnikowe (MFA)
Strona ufająca SAML 2.0 (RP) może wymagać uwierzytelniania wieloskładnikowego, podając wartość urn:foxids:mfa we właściwości RequestedAuthnContext.AuthnContextClassRef.
Przykładowy kod znajdziesz w AspNetCoreSamlSample w pliku SamlController.cs.
Właściwość AuthnContextClassRef można ustawić w metodzie Login w SamlController.cs:
public IActionResult Login(string returnUrl = null)
{
var binding = new Saml2RedirectBinding();
binding.SetRelayStateQuery(new Dictionary<string, string>
{
{ relayStateReturnUrl, returnUrl ?? Url.Content("~/") }
});
var saml2AuthnRequest = new Saml2AuthnRequest(saml2Config)
{
// Wymuś MFA
RequestedAuthnContext = new RequestedAuthnContext
{
Comparison = AuthnContextComparisonTypes.Exact,
AuthnContextClassRef = new string[] { "urn:foxids:mfa" },
}
};
return binding.Bind(saml2AuthnRequest).ToActionResult();
}