Registro de aplicación SAML 2.0
El registro de aplicación SAML 2.0 de FoxIDs le permite conectar una aplicación basada en SAML 2.0.
SAML (Security Assertion Markup Language) 2.0 es un estándar XML de autenticación y autorización que permite single sign-on (SSO) seguro entre un identity provider (IdP) y un service provider (SP). FoxIDs admite tanto el inicio de sesión iniciado por SP como el iniciado por IdP.
Su aplicación se convierte en una SAML 2.0 Relying Party (RP) y FoxIDs actúa como un SAML 2.0 Identity Provider (IdP).
FoxIDs admite SAML 2.0 redirect y post bindings.
FoxIDs también reenvía un login hint desde la URL de la solicitud SAML Authn usando el parámetro de consulta login_hint o LoginHint cuando la solicitud no incluye un NameID. Esto permite a relying parties como Microsoft Entra y Okta rellenar previamente el identificador del usuario en la experiencia de inicio de sesión de FoxIDs.
Un registro de aplicación expone metadata SAML 2.0, lo que permite a su aplicación descubrir el SAML 2.0 Identity Provider (IdP).
FoxIDs admite los perfiles SAML 2.0 de login, logout y single logout. El perfil Artifact no está admitido.
Los metadata SAML 2.0 generados por FoxIDs solo contienen información de logout y single logout si el logout está configurado en el registro de aplicación SAML 2.0.
Guías prácticas:
- Conectar AD FS
- Conectar Amazon IAM Identity Center
- Conectar Google Workspace
- Conectar Microsoft Entra ID
- Conectar Context Handler test IdP (Danish identity broker)
Configuración
Así se configura su aplicación como una SAML 2.0 Relying Party (RP).
Endpoints de metadata
- Metadata del IdP:
https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/idpmetadata(reemplacetenant-x,environment-yyapplication-saml-pr1por sus valores). - Endpoint alternativo único: el endpoint Authn también devuelve metadata del IdP cuando se llama con
GETy sinSAMLRequest. Esto permite a socios que requieren una sola URL para descargar metadata y enviar solicitudes Authn usar la misma dirección, por ejemplohttps://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. Cuando ese mismo endpoint recibe una SAML AuthnRequest por redirect o post binding, realiza el flujo de inicio de sesión normal.
Un registro de aplicación puede admitir inicio de sesión mediante varios métodos de autenticación agregando el nombre del método de autenticación a la URL.
Por ejemplo, https://foxids.com/tenant-x/environment-y/application-saml-pr1(login)/saml/idpmetadata o /saml/authn apunta al método de inicio de sesión login. También puede usar la notación predeterminada * para habilitar el inicio de sesión con todos los métodos de autenticación.
La siguiente captura de pantalla muestra la configuración de un registro de aplicación SAML 2.0 de FoxIDs en el FoxIDs Control Client. Aquí la configuración se crea a partir de los metadata de la aplicación. Los claims emitidos se limitan al conjunto de claims configurado, y puede usar la notación * para emitir todos los claims.
Más opciones de configuración estarán disponibles al hacer clic en Show advanced.

Puede cambiar la claim collection SAML 2.0 e implementar claim tasks con claim transforms y claim tasks. Si crea un nuevo claim, agregue el claim o
*a la listaIssue claimspara emitirlo a su aplicación.
Requerir autenticación multi-factor (MFA)
La SAML 2.0 Relying Party (RP) puede requerir MFA incluyendo urn:foxids:mfa en RequestedAuthnContext.AuthnContextClassRef. Puede combinarlo con valores más específicos como urn:foxids:link. Consulte solicitar MFA desde aplicaciones.
Puede encontrar código de ejemplo en AspNetCoreSamlSample y en el archivo SamlController.cs. La propiedad AuthnContextClassRef puede establecerse en el método Login de 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)
{
// To require MFA
RequestedAuthnContext = new RequestedAuthnContext
{
Comparison = AuthnContextComparisonTypes.Exact,
AuthnContextClassRef = new string[] { "urn:foxids:mfa" },
}
};
return binding.Bind(saml2AuthnRequest).ToActionResult();
}