Registro de aplicación SAML 2.0

El registro de aplicación SAML 2.0 de FoxIDs te permite conectar una aplicación basada en SAML 2.0.

SAML (Security Assertion Markup Language) 2.0 es un estándar de autenticación y autorización basado en XML que permite un Single Sign-On (SSO) seguro entre un Identity Provider (IdP) y un Service Provider (SP).
Los dos flujos SAML 2.0: SP-Initiated Login flow e IdP-initiated Login flow se admiten de forma predeterminada.

FoxIDs SAML 2.0 application registration

Tu aplicación se convierte en un Relying Party (RP) SAML 2.0 y FoxIDs actúa como Identity Provider (IdP) SAML 2.0.

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 NameID. Esto permite que los relying parties como Microsoft Entra y Okta completen previamente el identificador de usuario en la experiencia de inicio de sesión de FoxIDs.

Un registro de aplicación expone metadatos SAML 2.0 donde tu aplicación puede descubrir el Identity Provider (IdP) SAML 2.0.

Se admiten los perfiles SAML 2.0 de login, logout y single logout. El perfil Artifact no está soportado.

Los metadatos 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:

Configuración

Cómo configurar tu aplicación como Relying Party (RP) SAML 2.0.

Endpoints de metadatos

  • Metadatos IdP: https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/idpmetadata
    (reemplaza tenant-x, environment-y y application-saml-pr1 por tus valores).
  • Endpoint único alternativo: el endpoint Authn también devuelve los metadatos IdP cuando se llama con GET y sin SAMLRequest. Esto permite a los partners que requieren una sola URL para descarga de metadatos y solicitudes Authn usar la misma dirección, por ejemplo https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. Cuando el mismo endpoint recibe una SAML AuthnRequest (vía redirect o post binding), realiza el flujo de inicio de sesión normal.

Un registro de aplicación puede admitir inicio de sesión a través de varios métodos de autenticación añadiendo 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 login.
También puedes 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 FoxIDs Control Client.
Aquí la configuración se crea con los metadatos de la aplicación. Las reclamaciones emitidas se limitan al conjunto configurado; todas las reclamaciones se pueden emitir con la notación *.

Más opciones de configuración están disponibles al hacer clic en Show advanced.

Configure SAML 2.0

Puedes cambiar la recopilación de reclamaciones SAML 2.0 y realizar tareas de reclamaciones con transformaciones de reclamaciones y tareas de reclamaciones. Si estás creando una nueva reclamación, añade la reclamación o * a la lista Issue claims para emitir la reclamación a tu aplicación.

Requerir autenticación multifactor (MFA)

El Relying Party (RP) SAML 2.0 puede requerir autenticación multifactor especificando el valor urn:foxids:mfa en la propiedad RequestedAuthnContext.AuthnContextClassRef.

Puedes encontrar código de ejemplo en los ejemplos AspNetCoreSamlSample en el archivo SamlController.cs.
La propiedad AuthnContextClassRef se puede establecer 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();
}

Tu privacidad

Usamos cookies para mejorar tu experiencia en nuestros sitios web. Haz clic en «Aceptar todas las cookies» para aceptar su uso. Para rechazar cookies no esenciales, haz clic en «Solo cookies necesarias».

Visita nuestra política de privacidad para saber más