Pular para conteúdo

Fase 1 — Remoção de pAbast no integrador (API e auth)

Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-07-06 · Decidido em: 2026-07-06

Este documento descreve o que foi removido do JAR do integrador na Fase 1 da migração, mantendo apenas as tabelas PostgreSQL pabast_empresa e pabast_senhas (sem migrações DROP TABLE).

Objetivo

  • Retirar da aplicação UI, REST, domínio, repositórios e serviços ligados ao fluxo pAbast.
  • Retirar login JWT, JWKS e dependência Nimbus JOSE deste repositório, para que autenticação e assinatura de tokens passem a um serviço de auth dedicado (planejado nas fases seguintes).
  • Manter os dados nas tabelas existentes para sincronização (PowerSync) e consumo futuro por outros serviços ou apps.

O que foi removido (código)

  • Controllers MVC e API para empresa/senhas pAbast e rotas de autenticação (/pabast/*, /api/pabast/*, /api/auth/pabast/login, /.well-known/jwks.json, /api/auth/jwks).
  • Entidades JPA, repositórios e serviços associados.
  • Configuração pabast-auth: em application.yml (histórico), application-test.yml e exemplos em prod/*/app/application.yaml.
  • Dependência Gradle com.nimbusds:nimbus-jose-jwt e a task genPabastTestKeys.

O que permanece (banco)

  • Migrações Flyway inalteradas (incluindo V12__pabast_empresa_senhas.sql e V13__pabast_senhas_drop_fk_id_empresa.sql).
  • Tabelas pabast_empresa e pabast_senhas continuam no PostgreSQL; o conteúdo não é apagado por esta fase.

Resumo do modelo de dados: docs/pabast-pAbast.md.

Impacto em clientes (PowerSync / apps)

PowerSync (powersync/*/config.yaml)

Os arquivos Vantroba e On Petro ainda declaram client_auth.jwks_uri apontando para o host do integrador (ex.: http://172.17.0.1:3003/.well-known/jwks.json). Esse endpoint não existe mais neste JAR.

Ação necessária: apontar client_auth.jwks_uri para o JWKS do serviço de auth que passar a emitir JWT com audience compatível (vantroba, onpetro, etc.), e garantir que os apps obtenham o token desse serviço (não do integrador).

Até essa migração de infraestrutura, o PowerSync pode falhar na validação de cliente se depender exclusivamente do JWKS antigo.

Apps Flutter / clientes HTTP

Qualquer fluxo que chamava POST /api/auth/pabast/login ou lia JWKS do integrador deve ser atualizado para o novo provedor de identidade e URLs documentadas nesse serviço.

Documentos legados que descreviam o fluxo antigo foram reduzidos a avisos com link para este arquivo:

  • pabast-auth-pem-secrets.md (histórico)
  • flutter-pabast-login-powersync.md (histórico)

Testes automatizados

O projeto inclui testes de integração que verificam que as rotas removidas não são atendidas pelo integrador (resposta HTTP consistente com rota inexistente, tipicamente 404).

Referências