0032 — Rota de teste do GlitchTip sob o JWT xadm_admin¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-14 · Decidido em: 2026-09-14
Contexto¶
A decisão 0011 abriu /test como superfície
pública e rate-limited para checar o pipe de erro em produção, inclusive o POST /test/glitchtip, que
gera um evento no GlitchTip. A norma da casa para Java/Micronaut pede a rota de teste de erro
autenticada (observabilidade):
aberta, qualquer um gera evento no projeto do app, e um evento desses durante um deploy pode reprovar a
camada do smoke que procura exceção nova.
Decisão¶
O POST /test/glitchtip exige o JWT interno com xadm_admin. Quem cobra é o AdminAuthFilter, que
passa a cobrir a rota por path (@ServerFilter({"/api/admin/**", "/test/glitchtip"})): sem token a
resposta é 401, e com token sem xadm_admin, 403 — ambos em problem+json. O GET /test segue público e
mostra o curl com Bearer no lugar do formulário.
O mecanismo é o filtro, e não o @Secured(IS_AUTHENTICATED) da receita da norma: o central não usa o
micronaut-security para autorização (decisões 0007 e
0015).
Consequências¶
- Esta decisão supera o item 4 da 0011 só para a rota do GlitchTip; o resto de
/testsegue público. - O shared secret do integrador, aceito pelo mesmo filtro, também abre a rota.
- A página
/testperde o botão: um formulário do navegador não manda o headerAuthorization.
Alternativas consideradas¶
- Manter a rota pública e registrar o desvio da norma: descartado. O rate limit por IP não impede que qualquer um gere evento no GlitchTip de produção.