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.

FoxIDs SAML 2.0 application registration

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:

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 (reemplace tenant-x, environment-y y application-saml-pr1 por sus valores).
  • Endpoint alternativo único: el endpoint Authn también devuelve metadata del IdP cuando se llama con GET y sin SAMLRequest. Esto permite a socios que requieren una sola URL para descargar metadata y enviar solicitudes Authn usar la misma dirección, por ejemplo https://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.

Configure SAML 2.0

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 lista Issue claims para 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();
}
Tu privacidad

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