0006 — Bootstrap offline com token anônimo¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-06-30 · Decidido em: 2026-04-01
Correção 2026-06-30: o endpoint
POST /api/auth/anonestá depreciado —pabast_senhasnão é mais sincronizado via PowerSync, então o bootstrap-offline que este token habilitava deixou de ser o caminho corrente. O endpoint segue no ar só para compatibilidade com o bi-transporte. A premissa abaixo era válida quando a decisão foi tomada; não usar em integrações novas.
Contexto¶
Para fazer login offline na primeira vez, o app precisa dos hashes de
pabast_senhas no SQLite local — mas, à época, sincronizar exigia estar logado.
Ovo e galinha.
Decisão¶
Endpoint POST /api/auth/anon?cliente=X emite um JWT com
scope=pabast_only (sem autenticar usuário). O PowerSync, lendo o scope,
liberava apenas o bucket de pabast_senhas — o app sincronizava os hashes e
passava a poder logar offline.
Consequências¶
- Quebrava o ciclo ovo-e-galinha sem expor um endpoint de sync público e sem pré-popular o app à mão.
- O token não autentica ninguém — só autoriza a sincronização da tabela de hashes.
Alternativas consideradas¶
- Endpoint público de sync: inseguro. Descartado.
- Pré-popular o app manualmente: não escala para atualizações de senha. Descartado.