You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Estou tentando integrar o Chatwoot (self-hosted) ao N8N para realizar chamadas HTTP e consumir dados da API do Chatwoot. No entanto, as requisições feitas pelo N8N resultam constantemente em erro de autenticação, mesmo com o token correto configurado.
Detalhes do Erro
Quando realizo uma chamada para a API do Chatwoot, como a seguinte:
Ou configuro o nó HTTP Request no N8N com os mesmos headers e endpoint, a resposta é sempre:
O token está adicionado!
{
"errorMessage": "Authorization failed - please check your credentials",
"errorDescription": "Você precisa entrar ou se cadastrar antes de continuar.",
"errorDetails": {
"rawErrorMessage": [
"401 - "{\"errors\":[\"Você precisa entrar ou se cadastrar antes de continuar.\"]}""
],
"httpCode": "401"
}
}
O Que Descobrimos
Pesquisando mais sobre o problema, descobrimos que o Chatwoot utiliza headers com underscores (ex.: Authorization) que, em alguns casos, podem ser filtrados ou ignorados pelo proxy reverso. Nesse caso, o Traefik, que utilizamos como proxy reverso, parece ser um dos pontos potenciais de falha.
Tentamos a seguinte configuração no Traefik para habilitar o suporte a underscores:
1. Adicionamos um middleware específico para permitir headers com underscores:
Abordagens Tentadas
1. Token de Autenticação: O token foi gerado corretamente via console Rails no Chatwoot e testado diretamente no contêiner da aplicação. Funciona para alguns endpoints, mas falha para outros.
2. Configuração de Middleware no Traefik: Adicionamos suporte a underscores em headers e associamos isso ao router do Chatwoot.
3. Testes Locais: Fizemos chamadas diretamente no contêiner do Chatwoot, e o problema persiste.
4. Verificação de Logs: Logs do Chatwoot mostram que o header Authorization ou não está sendo reconhecido ou está sendo ignorado.
Perguntas
1. Existe alguma configuração adicional no Traefik que possa resolver esse problema de headers com underscores?
2. É possível que o problema seja na configuração do Chatwoot, e não no Traefik?
3. Alguém já enfrentou esse mesmo problema integrando o Chatwoot com o N8N ou outro serviço de automação? Como foi resolvido?
Perguntas
Existe alguma configuração adicional necessária no Traefik para garantir que os headers com underscores sejam preservados e reconhecidos pelo Chatwoot?
É possível que o problema esteja no Chatwoot, e não no Traefik?
Alguém já enfrentou problema semelhante com integração de API e Traefik? Como foi resolvido?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Descrição
Estou tentando integrar o Chatwoot (self-hosted) ao N8N para realizar chamadas HTTP e consumir dados da API do Chatwoot. No entanto, as requisições feitas pelo N8N resultam constantemente em erro de autenticação, mesmo com o token correto configurado.
Detalhes do Erro
Quando realizo uma chamada para a API do Chatwoot, como a seguinte:
curl -X GET "https://chatwoot.parizarteemdanca.com.br/api/v1/accounts/2/contacts"
-H "Authorization: Bearer <SEU_TOKEN_AQUI>"
-H "Content-Type: application/json"
Ou configuro o nó HTTP Request no N8N com os mesmos headers e endpoint, a resposta é sempre:
O token está adicionado!
{
"errorMessage": "Authorization failed - please check your credentials",
"errorDescription": "Você precisa entrar ou se cadastrar antes de continuar.",
"errorDetails": {
"rawErrorMessage": [
"401 - "{\"errors\":[\"Você precisa entrar ou se cadastrar antes de continuar.\"]}""
],
"httpCode": "401"
}
}
O Que Descobrimos
Pesquisando mais sobre o problema, descobrimos que o Chatwoot utiliza headers com underscores (ex.: Authorization) que, em alguns casos, podem ser filtrados ou ignorados pelo proxy reverso. Nesse caso, o Traefik, que utilizamos como proxy reverso, parece ser um dos pontos potenciais de falha.
Tentamos a seguinte configuração no Traefik para habilitar o suporte a underscores:
1. Adicionamos um middleware específico para permitir headers com underscores:
traefik.http.middlewares.chatwoot-headers.headers.customrequestheaders.underscores_in_headers=on
traefik.http.routers.chatwoot_app.middlewares=sslheader,chatwoot-headers
Mesmo com essa configuração, o problema persiste, e as chamadas continuam retornando “401 Unauthorized”.
Ambiente
• Chatwoot: v3.15.0
• Traefik: v2.11
• N8N: v1.65.2 (Self-Hosted)
• Docker: Swarm Mode
• Endpoint testado: /api/v1/accounts/2/contacts
Abordagens Tentadas
1. Token de Autenticação: O token foi gerado corretamente via console Rails no Chatwoot e testado diretamente no contêiner da aplicação. Funciona para alguns endpoints, mas falha para outros.
2. Configuração de Middleware no Traefik: Adicionamos suporte a underscores em headers e associamos isso ao router do Chatwoot.
3. Testes Locais: Fizemos chamadas diretamente no contêiner do Chatwoot, e o problema persiste.
4. Verificação de Logs: Logs do Chatwoot mostram que o header Authorization ou não está sendo reconhecido ou está sendo ignorado.
Perguntas
1. Existe alguma configuração adicional no Traefik que possa resolver esse problema de headers com underscores?
2. É possível que o problema seja na configuração do Chatwoot, e não no Traefik?
3. Alguém já enfrentou esse mesmo problema integrando o Chatwoot com o N8N ou outro serviço de automação? Como foi resolvido?
Perguntas
Existe alguma configuração adicional necessária no Traefik para garantir que os headers com underscores sejam preservados e reconhecidos pelo Chatwoot?
É possível que o problema esteja no Chatwoot, e não no Traefik?
Alguém já enfrentou problema semelhante com integração de API e Traefik? Como foi resolvido?
Beta Was this translation helpful? Give feedback.
All reactions