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 ID 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.
Para single logout, FoxIDs utiliza el NameID, su formato y el SessionIndex emitidos al iniciar sesión en la aplicación. Estos valores se conservan por separado para cada aplicación. Las transformaciones de claims de la aplicación se ejecutan cuando se emite la respuesta de inicio de sesión.
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.
FoxIDs admite certificados RSA y ECDSA como certificados de validación de firma SAML. La validación de firma puede aceptar varios algoritmos permitidos, lo que permite confiar en relying parties que firman SAML requests con certificados RSA o ECDSA, mientras RSA-SHA-1 antiguo sigue deshabilitado de forma predeterminada.
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.
Seguridad e interoperabilidad
Los ajustes avanzados de seguridad SAML están disponibles al hacer clic en Show advanced en el registro de aplicación SAML 2.0.
- Signature algorithm controla el algoritmo que FoxIDs utiliza al firmar SAML responses o assertions. RSA-SHA-256 es el valor predeterminado.
- Signature validation algorithms es una allowlist para SAML requests y mensajes de logout entrantes firmados por la relying party. La allowlist predeterminada incluye los algoritmos RSA-SHA-256/384/512 y ECDSA-SHA-256/384/512 admitidos y excluye RSA-SHA-1.
- Los certificados de validación de firma SAML admiten certificados RSA y ECDSA, por lo que una relying party puede usar ambos tipos de certificado al firmar SAML requests y mensajes de logout.
- Encrypt authn response cifra la assertion en la SAML authentication response. Cuando está habilitado, debe indicarse el relying party encryption certificate y, si la interoperabilidad lo requiere, pueden seleccionarse Encryption algorithm y Key encryption algorithm.
Los algoritmos de data encryption admitidos son AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-GCM, AES-192-GCM y AES-256-GCM. AES-256-CBC es el valor predeterminado.
Los algoritmos de key encryption admitidos son RSA 1.5, RSA-OAEP y XML Encryption 1.1 RSA-OAEP. RSA-OAEP es el valor predeterminado. Use RSA 1.5 solo cuando una relying party antigua lo requiera.
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();
}
Parámetros de solicitud
Configure Allowed request parameters para que los valores seleccionados de la solicitud de autenticación SAML estén disponibles como claims _local:params:{name}. Consulte parámetros de solicitud de las aplicaciones para conocer la configuración, las listas separadas por espacios y los límites.