Problema ao ativar SSO SAML com Azure EntraID na nossa instância Business n8n auto-hospedada

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.