Oi pessoal, estamos hospedando nossa instância n8n (Plano Business) no Azure e estamos tendo dificuldades para configurar SSO SAML
Descreva o problema/erro/pergunta
Tentamos configurar SSO SAML usando Azure EntraID seguindo este guia: Set up SAML | Administer | n8n Docs e este guia: Set up Azure AD SAML | Administer | n8n Docs .
Configuramos as claims conforme descrito nos guias.
Qual é a mensagem de erro (se houver)?
Ao clicar no botão “Testar conexão” após configurar o SSO SAML no meu painel n8n, sou redirecionado para uma página mostrando um erro e exibindo esta mensagem:
“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).”
Informações sobre sua configuração n8n
- versão n8n: 2.28.3
- Banco de dados (padrão: SQLite): PostgresQL
- configuração n8n EXECUTIONS_PROCESS (padrão: own, main): main
- Executando n8n via (Docker, npm, n8n cloud, desktop app): Docker
- Sistema operacional: Linux
Oi! Este é um problema clássico de mapeamento de claims SAML do Azure e o n8n está esperando os atributos firstname e lastname, mas eles não estão chegando na resposta SAML.
No seu app do Azure Entra ID, vá para Single sign-on → Attributes & Claims e certifique-se de que estes dois estão explicitamente adicionados:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname → mapeado para user.givenname
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname → mapeado para user.surname
A configuração padrão de claims do Azure frequentemente pula estes ou usa nomes de atributos diferentes, o que é exatamente o que está causando a incompatibilidade.
Depois de salvar, teste a conexão novamente e ela deve funcionar. Nos avise se você ainda estiver vendo o erro!
Oi @Vincent67 Bem-vindo!
Esse erro significa que a asserção está chegando ao n8n, mas essas duas declarações estão chegando sob um nome diferente do URI exato que o n8n espera. No Entra, o tipo de declaração emitido é Namespace + Name, definido em duas caixas separadas, então o tipo completo só se torna http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname quando a declaração é configurada como:
Name: firstname
Namespace: http://schemas.xmlsoap.org/ws/2005/05/identity/claims
Se a caixa Namespace for deixada vazia, o Entra emite a declaração como simples firstname sem prefixo, e o n8n a informa como ausente. Abra cada declaração em Single sign-on > Attributes & Claims, defina o Name e Namespace exatamente como acima (Name lastname para a outra), e salve.
Separadamente, o Entra descarta qualquer declaração cujo atributo de origem está vazio, então certifique-se de que o usuário de teste tem um First name e Last name preenchidos em seu perfil do Entra, ou essas duas declarações não serão enviadas em absoluto.
Para confirmar o que realmente está chegando, leia a asserção com a extensão de navegador SAML Chrome Panel durante Test connection.