Método de autenticación SAML 2.0

Método de autenticación SAML 2.0 de FoxIDs que confía en un proveedor de identidad SAML 2.0 (IdP) externo.

SAML (Security Assertion Markup Language) 2.0 es un estándar abierto para intercambiar datos de autenticación y autorización entre un proveedor de identidad (IdP) y un proveedor de servicios (SP). Habilita el Single Sign-On (SSO), permitiendo a los usuarios iniciar sesión una sola vez y acceder a múltiples aplicaciones sin volver a autenticarse.
Se admiten los dos flujos SAML 2.0. El flujo de inicio de sesión iniciado por el SP, que es el flujo predeterminado, más común y recomendado, y el flujo de inicio de sesión iniciado por el IdP.

SAML 2.0 se usa ampliamente en entornos empresariales, habilitando la federación de identidad segura entre diferentes organizaciones y aplicaciones.

FoxIDs SAML 2.0 authentication method

Al configurar un método de autenticación SAML 2.0 y un registro de aplicación OpenID Connect, FoxIDs se convierte en un bridge entre SAML 2.0 y OpenID Connect. FoxIDs gestionará la conexión SAML 2.0 como Relying Party (RP) / Service Provider (SP) y solo necesita preocuparse por OpenID Connect en su aplicación.

Es posible configurar varios métodos de autenticación SAML 2.0 que luego pueden ser seleccionados por los registros de aplicaciones OpenID Connect y los registros de aplicaciones SAML 2.0.

Configure inicio de sesión iniciado por el IdP y reenvíe el inicio de sesión a aplicaciones SAML 2.0 y OpenID Connect.

FoxIDs admite los bindings SAML 2.0 redirect y post. Se admiten los perfiles SAML 2.0 de login, logout y single logout. El perfil Artifact no es compatible.

Un método de autenticación expone metadatos SAML 2.0 y puede configurarse con metadatos SAML 2.0 o agregando manualmente los detalles de configuración.

Los metadatos SAML 2.0 generados por FoxIDs solo contienen información de logout y single logout si el logout está configurado en el método de autenticación SAML 2.0.

FoxIDs admite todos los proveedores de identidad SAML 2.0 (IdP) y se ha probado con una amplia gama de IdP.

Guías prácticas:

Configuración

Cómo configurar un proveedor de identidad SAML 2.0 (IdP) externo.

El endpoint de metadatos del método de autenticación SAML 2.0 de FoxIDs es https://foxids.com/tenant-x/environment-y/(some_external_idp)/saml/spmetadata. Si el IdP está configurado en el tenant tenant-x y el entorno environment-y con el nombre del método de autenticación some_external_idp.

La siguiente captura de pantalla muestra la configuración de un método de autenticación SAML 2.0 en FoxIDs Control Client. Aquí la configuración se crea con los metadatos de los IdP externos. Las claims reenviadas se limitan al conjunto de claims configurado; de forma predeterminada se reenvían todas las claims con la notación *.

Hay más opciones de configuración disponibles al hacer clic en Show advanced.

Configure SAML 2.0

Puede cambiar las claims y realizar tareas de claims con transformaciones de claims y tareas de claims.

La configuración manual está disponible deshabilitando Automatic update. De esta manera el IdP no necesita exponer ni enviar un archivo de metadatos, puede configurar todo manualmente.

Manual SAML 2.0 configuration

Si está creando una nueva claim, agregue la claim o * (predeterminado) a la lista Forward claims para reenviar la claim al registro de aplicación.

Inicio de sesión iniciado por el IdP

El inicio de sesión iniciado por el IdP de SAML 2.0 es un flujo de autenticación Single Sign-On (SSO) donde el proceso comienza en el proveedor de identidad (IdP) en lugar del proveedor de servicios (SP). Este método se usa comúnmente en entornos empresariales para permitir que los usuarios accedan a varias aplicaciones con una sola autenticación.

A diferencia del inicio de sesión iniciado por el SP, el SP no solicita autenticación al IdP. El IdP envía una aserción SAML no solicitada por iniciativa propia. Esta diferencia clave hace que el flujo de inicio de sesión iniciado por el IdP sea menos seguro que el flujo iniciado por el SP, y por esta razón el inicio de sesión iniciado por el IdP está deshabilitado de forma predeterminada en FoxIDs.

Habilitar el inicio de sesión iniciado por el IdP.

  1. Abra el método de autenticación SAML 2.0 en FoxIDs Control Client
  2. Haga clic en Show advanced
  3. Desplácese hasta la parte inferior de la sección de configuración
  4. Habilite IdP-Initiated login
  5. Opcionalmente cambie IdP-Initiated Login - OpenID Connect grant lifetime
  6. Haga clic en Update

Configure SAML 2.0

Configure el método de autenticación SAML 2.0 para confiar en el IdP de la misma manera que si usara un inicio de sesión iniciado por el SP.

Estado de retransmisión del IdP

El IdP externo debe enviar un estado de retransmisión que especifique la aplicación a la que debe reenviarse la autenticación. El estado de retransmisión siempre debe contener el nombre de la aplicación app_name y el tipo de aplicación app_type y en algunos casos debe contener una URL de redirección de la aplicación app_redirect.

Cada elemento tiene un nombre y un valor y se separan con &. Los valores de URL de redirección deben estar codificados en URL. El valor del tipo de aplicación puede ser saml2 u oidc.

El ejemplo .NET de proveedor de identidad (IdP) SAML 2.0 AspNetCoreSamlIdPSample muestra cómo crear un inicio de sesión iniciado por el IdP con un estado de retransmisión.

FoxIDs SAML 2.0 authentication method

Aplicación SAML 2.0

Si desea reenviar la autenticación a la aplicación SAML 2.0 llamada my-saml2-app, el estado de retransmisión es:

app_name=my-saml2-app&app_type=saml2

Esto reenviará la llamada de autenticación al primer endpoint Assertion Consumer Service (ACS) configurado para la aplicación.

Si desea reenviar la autenticación a otro endpoint ACS configurado https://my-domain.com/auth/acs2, el estado de retransmisión es:

app_name=my-saml2-app&app_type=saml2&app_redirect=https%3A%2F%2Fmy-domain.com%2Fauth%2Facs2

La llamada de autenticación se reenvía a la aplicación SAML 2.0 como un inicio de sesión iniciado por el IdP con una respuesta de autenticación SAML 2.0 no solicitada.

Aplicación OpenID Connect

OpenID Connect no admite el inicio de sesión iniciado por el IdP. Por lo tanto, el inicio de sesión iniciado por el IdP se valida en el método de autenticación y se reenvía a la aplicación OpenID Connect llamando a la aplicación con la URL de redirección app_redirect, que debe iniciar el flujo de inicio de sesión (estándar OpenID Connect: Initiating Login from a Third Party).
Necesita una página en la aplicación OpenID Connect que requiera que el usuario esté autenticado y que por lo tanto inicie el flujo de inicio de sesión cuando se llame. Un parámetro de emisor iss se pasa en la consulta y usted puede decidir validarlo.
La aplicación OpenID Connect puede hacer una solicitud de inicio de sesión general con un *, FoxIDs sabe dónde enrutar la solicitud de inicio de sesión.

Luego la aplicación OpenID Connect llama a FoxIDs, que lee la concesión de IdP-Initiated Login.
Alternativamente, sin una concesión IdP-Initiated Login, el IdP externo se llama con un flujo de inicio de sesión iniciado por el SP. El IdP externo usa el contexto Single Sign-On (SSO) y responde a FoxIDs.

Se recomienda usar la funcionalidad de concesión IdP-Initiated Login para evitar un viaje de ida y vuelta adicional al IdP externo.

El inicio de sesión iniciado por el IdP SAML 2.0 se traduce a OpenID Connect y reenvía la autenticación a la aplicación OpenID Connect.

Si desea reenviar la autenticación a la aplicación OpenID Connect llamada my-oidc-app con la URL de inicio de sesión https://my-domain.com/secure-page, el estado de retransmisión es:

app_name=my-oidc-app&app_type=oidc&app_redirect=https%3A%2F%2Fmy-domain.com%2Fsecure-page

La URL de redirección de la aplicación debe ser una URL válida/configurada para la aplicación OpenID Connect.

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