Pular para conteúdo

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/anon está depreciado — pabast_senhas nã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.