Skip to content

blocked: 401 "Autenticação obrigatória" em TODOS os endpoints testados (inclusive sem [Authorize]) no ambiente https://layoutparser.duckdns.org #15

Description

@elson-vinicius-lopes

Contexto

Sequência de #9/#13, testando o reteste pedido pelo time da LayoutParserApi (que anunciou
fix de timing de deploy da config M2M em 2026-09-08). Testamos agora, pela primeira vez com
o Cypress real, o ambiente "produção"/dev real https://layoutparser.duckdns.org (além do
ambiente local 172.19.176.1:5100, já rastreado em #13).

Testado em 2026-09-10 com o mesmo token M2M válido (client LayoutParserE2EClient, scope
api://f76c2598-4759-48a9-8145-8a967ec7ac96/.default, obtido via Entra client_credentials
— confirmado 200 com access_token válido).

Sintoma

Contra https://layoutparser.duckdns.org:

  1. POST /api/TransformationExecution/execute-lowcode com Authorization: Bearer <token>
    → 401, corpo:
    {"statusCode":401,"error":"Unauthorized","message":"Autenticação obrigatória.","correlationId":"<varia por request>"}
  2. POST /api/AutoTransformation/generate-for-layout — endpoint que no ambiente local
    (172.19.176.1:5100) responde 404 "Layout não encontrado" sem exigir nenhuma
    autenticação
    (não deveria ter [Authorize], pelo comportamento observado no ambiente
    local) — também retornou 401, com o mesmo formato "Autenticação obrigatória."
    nesse ambiente.

Por que é diferente de #13

A #13 documenta um 401 sem body/WWW-Authenticate, isolado ao endpoint
execute-lowcode, no ambiente local. Aqui temos um 401 com body estruturado, afetando
inclusive um endpoint que não deveria exigir auth. Escopo/causa provável parecem diferentes
— possivelmente uma camada de autenticação (API Gateway/reverse proxy, ou
TrustedIdentityMiddleware) bloqueando todos os endpoints nesse ambiente específico, e
o token M2M do Entra não sendo aceito por essa camada ali (scheme diferente do esperado, ou
audience/issuer não reconhecido nesse ambiente).

Nota sobre rede

curl direto do WSL contra https://layoutparser.duckdns.org trava no handshake TLS
(connection reset) — o teste real só funcionou via Cypress rodando em Electron/Windows.
Possível particularidade de rede do WSL, não necessariamente do servidor; mencionado aqui
só como contexto de diagnóstico, não como parte do sintoma reportado.

Hipótese (não confirmada, para o time da API investigar)

  1. Existe um gateway/proxy ou middleware de auth na frente de todos os endpoints em
    layoutparser.duckdns.org que não existe (ou está configurado diferente) no ambiente
    local.
  2. O scheme/audience/issuer que esse gateway espera pode ser diferente do que o M2M do
    Entra (client LayoutParserE2EClient) emite — mesmo token, mesmo client, comportamento
    diferente por ambiente.

Relacionado

  • #13 — mesmo token M2M,
    sintoma distinto, ambiente local.
  • #9 — origem do bloqueio de
    auth de serviço.
  • PRs da API mencionados como contexto pelo próprio time: #218, #221, #295.
  • Doc persistente: docs/e2e-fiat-sysmiddle-tcl-xsl.md, seção 13.

Severidade

Bloqueia validar o gate sysmiddle no ambiente que o time da API classifica como o
"servidor real" de dev — não confirmado se é bug ou config de ambiente pendente, mas sem
isso não há como confirmar cStat=100 no ambiente correto.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions