Boas Práticas de Segurança
Como armazenar os segredos
| Segredo | Recomendação |
|---|---|
| API key | Cofre de segredos (Azure Key Vault, AWS Secrets Manager, variável de ambiente protegida). Nunca em código-fonte ou arquivos versionados. |
| Access token | Memória da aplicação. Nunca em localStorage ou cookies sem atributo HttpOnly. |
| Refresh token | Armazenamento seguro e persistente (banco criptografado, keychain do sistema). |
O que NÃO fazer
# ❌ Nunca registre tokens em logs
logger.info(f"Token: {access_token}")
# ❌ Nunca envie a API key nas chamadas de negócio
# A API key é usada APENAS em POST /api/external-auth/token
curl /api/external/ping -H "x-api-key: ..." # errado
# ❌ Nunca reutilize um refresh token após chamar /refresh
# O token anterior é invalidado imediatamente — reutilizá-lo encerra toda a sessão
Proteção contra token comprometido
Se um refresh token já utilizado for apresentado novamente à API, toda a sessão ativa é encerrada imediatamente. Para retomar o acesso, utilize a API key em POST /token para iniciar uma nova sessão.
Se suspeitar que sua API key foi comprometida, entre em contato com o time IFW imediatamente.
Validade dos tokens
| Token | Duração |
|---|---|
| Access token (JWT) | 15 minutos |
| Refresh token | 14 dias |