0011 — Autenticação em duas camadas¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-06-11 · Decidido em: 2026-05-25
Contexto¶
A aplicação tem duas superfícies com audiências e ameaças diferentes: a API
(consumida por máquina — o ERP/job do cliente) e as views server-rendered
(/processamentos, /admin, consumidas por humanos da X-Adm).
Decisão¶
Duas camadas independentes:
/api/**— Bearer token estático viamicronaut-security(@Secured("ROLE_API")).- Views — login Google (Firebase), restrito a e-mails
@xadm.com.br; cookie de sessão JWT HS256 (xadm_session), gate nosecurity/AuthFilter, token CSRF (_csrf) nos forms POST.
Sem as envs AUTH_*: em dev/test as views ficam públicas (bypass); em
produção o acesso é fail-closed (503).
Consequências¶
- As duas camadas evoluem isoladas — não mexer numa ao trabalhar na outra.
- Procedimento de setup (Firebase, envs) no runbook
operacao/google-auth.md.
Alternativas consideradas¶
- OAuth2/JWT na API: excesso para um único cliente confiável com segredo compartilhado. Descartado.
- Mesma auth para API e views: audiências incompatíveis (máquina vs humano). Descartado.