Autenticação
JWT access (curto) + refresh (longo; TTL maior se remember). Senhas com Argon2.
Fluxo
bash
# 1. login
curl -X POST https://api-dev.abys.cloudface.tech/api/v1/auth/login \
-H 'content-type: application/json' \
-d '{"email":"marina.silva@abys.com.br","senha":"abys12345","remember":true}'
# -> { user, accessToken, refreshToken, tokenType }
# 2. chamadas autenticadas
curl https://api-dev.abys.cloudface.tech/api/v1/auth/me \
-H "authorization: Bearer <accessToken>"
# 3. renovar access
curl -X POST .../auth/refresh -H 'content-type: application/json' \
-d '{"refreshToken":"<refreshToken>"}'Recuperação de senha
POST /auth/password/forgot { email }→ sempre 200 neutro (anti-enumeration); gera token de 30 min, one-time use.POST /auth/password/reset { token, senha }→ troca a senha.
RBAC
Papéis: admin · analista · gerente_loja · viewer. Rotas de mutação (aprovar/vetar/executar, salvar regras/cadência) exigem analista/admin; acesso negado retorna 403 (tela /sem-acesso).
Credenciais de teste (dev)
marina.silva@abys.com.br / abys12345 — papel analista.