Hola a todos, estamos alojando nuestra instancia de n8n (Plan Business) en Azure y tenemos algunos problemas configurando SSO SAML
Describe el problema/error/pregunta
Hemos intentado configurar SSO SAML utilizando Azure EntraID siguiendo esta guía: Set up SAML | Administer | n8n Docs y esta guía: Set up Azure AD SAML | Administer | n8n Docs .
Hemos configurado los claims tal y como se describía en las guías.
¿Cuál es el mensaje de error (si hay alguno)?
Al hacer clic en el botón “Probar conexión” después de configurar SSO SAML en mi panel de n8n, soy redirigido a una página que muestra un error y muestra este mensaje:
“SAML Authentication failed. Invalid SAML response (missing attributes: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname).”
Información sobre tu configuración de n8n
- Versión de n8n: 2.28.3
- Base de datos (por defecto: SQLite): PostgresQL
- Configuración de n8n EXECUTIONS_PROCESS (por defecto: own, main): main
- Ejecutando n8n a través de (Docker, npm, n8n cloud, desktop app): Docker
- Sistema operativo: Linux
¡Hola! Este es un problema clásico de mapeo de claims SAML en Azure y n8n espera los atributos firstname y lastname pero no están llegando en la respuesta SAML.
En tu aplicación de Azure Entra ID, ve a Inicio de sesión único → Atributos y notificaciones y asegúrate de que estos dos se agreguen explícitamente:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname → asignado a user.givenname
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname → asignado a user.surname
La configuración de claims predeterminada de Azure a menudo omite estos o utiliza nombres de atributos diferentes, que es exactamente lo que está causando la discrepancia.
Después de guardar, prueba la conexión de nuevo y debería funcionar. ¡Avísanos si sigues viendo el error!
¡Hola @Vincent67! ¡Bienvenido!
Ese error significa que la aserción está llegando a n8n, pero esos dos claims están llegando bajo un nombre diferente al URI exacto que n8n espera. En Entra, el tipo de claim emitido es Namespace + Name, configurado en dos cuadros separados, por lo que el tipo completo solo se convierte en http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname cuando el claim se configura como:
Name: firstname
Namespace: http://schemas.xmlsoap.org/ws/2005/05/identity/claims
Si el cuadro Namespace se deja vacío, Entra emite el claim como firstname simple sin prefijo, y n8n lo reporta como faltante. Abre cada claim en Single sign-on > Attributes & Claims, configura Name y Namespace exactamente como arriba (Name lastname para el otro), y guarda.
Por separado, Entra descarta cualquier claim cuyo atributo de origen está vacío, así que asegúrate de que el usuario de prueba tenga un First name y Last name completados en su perfil de Entra, o esos dos claims no se enviarán en absoluto.
Para confirmar qué está llegando realmente, lee la aserción con la extensión de navegador SAML Chrome Panel durante Test connection.