Saltar al contenido principal

Configura el inicio de sesión único con SAML

Con un esfuerzo mínimo de configuración, este conector permite la integración con cualquier Proveedor de Identidad (IdP) basado en SAML.

tip:

Para obtener más información sobre SSO y cómo configurar SSO en Logto, por favor consulta la documentación de SSO empresarial (SAML & OIDC) para comenzar.

Paso 1: Crea una aplicación SAML SSO en tu IdP

Inicia la integración de SAML SSO creando una aplicación en el lado del Proveedor de Identidad (IdP). Obtén las siguientes configuraciones de Logto, que representan tu Proveedor de Servicios (SP):

  • URI de Audiencia (Audience URI) (ID de Entidad SP): Se representa como un identificador globalmente único para tu servicio Logto, funcionando como el EntityId para SP durante las solicitudes de autenticación al IdP. Este identificador es fundamental para el intercambio seguro de afirmaciones SAML y otros datos relacionados con la autenticación entre el IdP y Logto.
  • URL de ACS: La URL del Servicio de Consumidor de Afirmaciones (ACS) es la ubicación donde se envía la afirmación SAML con una solicitud POST. Esta URL es utilizada por el IdP para enviar la afirmación SAML a Logto. Actúa como una URL de callback donde Logto espera recibir y consumir la respuesta SAML que contiene la información de identidad del usuario.

Rellena las configuraciones de URI de Audiencia y URL de ACS en tu aplicación SAML del IdP y continúa recuperando las siguientes configuraciones de tu IdP.

Paso 2: Configura SAML SSO en Logto

Para que la integración de SAML SSO funcione, necesitarás proporcionar los metadatos del Proveedor de Identidad (IdP) a Logto. Los metadatos del IdP son un documento XML que contiene toda la información necesaria para que Logto establezca la confianza con el IdP.

Navega a la pestaña Connection. Logto ofrece tres formas diferentes de configurar los metadatos del IdP:

  1. URL de metadatos: Proporciona la URL del documento XML de metadatos del IdP. Logto obtendrá los metadatos de la URL y configurará la integración de SAML SSO automáticamente.
  2. Subir metadatos: Sube el documento XML de metadatos del IdP. Logto analizará el documento XML y configurará la integración de SAML SSO automáticamente.
  3. Configuración manual: Configura manualmente los metadatos del IdP.
  • ID de entidad del IdP: El ID de entidad del IdP.
  • URL de inicio de sesión único: La URL del servicio de inicio de sesión único del IdP.
  • Certificado de firma: El certificado x509 se utiliza para verificar la firma de la respuesta SAML del IdP.

Con cualquiera de las configuraciones anteriores, Logto analizará los metadatos del IdP y configurará la integración de SAML SSO en consecuencia.

Paso 3: Configura el mapeo de atributos de usuario

Los atributos de usuario devueltos por el Proveedor de identidad (IdP) pueden variar dependiendo de la configuración del IdP. Logto proporciona una forma flexible de mapear los atributos de usuario devueltos por el IdP a los atributos de usuario en Logto. Puedes configurar el mapeo de atributos de usuario en la pestaña de experiencia de integración de SAML SSO.

  • id: El identificador único del usuario. Logto leerá el reclamo nameId de la respuesta SAML como el id de identidad SSO del usuario.
  • email: La dirección de correo electrónico del usuario.
  • name: El nombre del usuario.

Paso 4: Establece dominios de correo electrónico y habilita el conector SSO

Proporciona los dominios de correo electrónico de tu organización en la pestaña de experiencia SSO del conector de Logto. Esto habilitará el conector SSO como un método de autenticación para esos usuarios.

Los usuarios con direcciones de correo electrónico en los dominios especificados serán redirigidos para usar el conector SAML SSO como su único método de autenticación.

Opcional: Firma la solicitud de autenticación SAML

Por defecto, Logto envía las solicitudes de autenticación SAML (AuthnRequests) sin firmar. Si tu proveedor de identidad (IdP) requiere solicitudes de autenticación firmadas, Logto puede firmarlas con un certificado de proveedor de servicios (SP) generado. La firma se controla completamente mediante la configuración Firmar solicitud de autenticación (Sign authentication request) del conector; Logto no lee el indicador WantAuthnRequestsSigned de los metadatos del IdP.

Configúralo en este orden para evitar cualquier interrupción en el inicio de sesión:

  1. En la pestaña Connection del conector, busca la sección Certificado de firma de solicitud (Request signing certificate) y haz clic en Generar nueva clave (Generate new key). La primera clave se activa automáticamente; las claves generadas posteriormente quedan inactivas para rotación.
  2. Descarga el certificado de la clave activa y regístralo en tu IdP.
  3. Habilita Firmar solicitud de autenticación (Sign authentication request) y guarda. Habilitar requiere una clave de firma activa; guardar sin una será rechazado.
  4. Si tu IdP tiene una opción separada para requerir o verificar solicitudes firmadas, actívala ahora y luego prueba el flujo de inicio de sesión.
aviso:

Mantén ambos lados sincronizados. Habilitar Firmar solicitud de autenticación (Sign authentication request) antes de registrar el certificado, o requerir verificación en el IdP antes de que Logto firme, interrumpe el inicio de sesión a través de esta conexión hasta que el otro lado se ponga al día. Los IdP que no verifican las firmas de las solicitudes simplemente ignoran la firma.

La gestión de claves funciona de manera independiente al interruptor:

  • Como máximo, una clave está activa y la clave activa firma cada solicitud. Las operaciones de clave (generar, activar, desactivar, eliminar) tienen efecto inmediato.
  • Para rotar certificados sin tiempo de inactividad: genera una nueva clave (queda inactiva), registra su certificado en tu IdP y luego actívala; la clave anterior se desactiva automáticamente y puede eliminarse después.
  • La clave activa no puede eliminarse, y no puede desactivarse mientras Firmar solicitud de autenticación (Sign authentication request) esté habilitado; primero desactiva la firma.
  • Apagar el interruptor conserva todas las claves, por lo que al volver a habilitar se reanuda la firma con el mismo certificado, sin necesidad de rehacer nada en el IdP.

Logto firma las solicitudes con RSA-SHA256 por defecto. Para usar RSA-SHA512, establece requestSignatureAlgorithm en http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 en la configuración del conector a través de la Management API de Logto.

Hoja de referencia rápida de seguridad SAML