14-16 Mar 2026
Voltar ao catalogo

GetAccessTokenAsync sem cache (OAuth2 token por requisicao)

SCALE-H4
HighAchado ConfirmadoEscalabilidadeRodada 1

Descricao

GetAccessTokenAsync no CargaAdicionalService nao cacheia o token de acesso. Novo token obtido a cada chamada.

Evidencia
`CargaAdicionalService.cs` linhas 255-286 — `GetAccessTokenAsync` sem uso de `IDistributedCache`.
Impacto Tecnico

Cada verificacao de carga gera requisicao extra de autenticacao. Centenas de chamadas HTTP desnecessarias em lotes.

Impacto de Negocio

Latencia desnecessaria, risco de rate limiting no AuthServer externo.

Recomendacao

Cachear token em IDistributedCache com TTL = expires_in - 60s.

Arquivos Afetados

aspnet-core/src/cargo_fleet.Application/CargasAdicionais/CargaAdicionalService.cs

Acoes Relacionadas

{
  "id": "SCALE-H4",
  "title": "GetAccessTokenAsync sem cache (OAuth2 token por requisicao)",
  "severity": "High",
  "type": "achado confirmado",
  "category": "scalability",
  "description": "`GetAccessTokenAsync` no `CargaAdicionalService` nao cacheia o token de acesso. Novo token obtido a cada chamada.",
  "evidence": "`CargaAdicionalService.cs` linhas 255-286 — `GetAccessTokenAsync` sem uso de `IDistributedCache`.",
  "technicalImpact": "Cada verificacao de carga gera requisicao extra de autenticacao. Centenas de chamadas HTTP desnecessarias em lotes.",
  "businessImpact": "Latencia desnecessaria, risco de rate limiting no AuthServer externo.",
  "recommendation": "Cachear token em `IDistributedCache` com TTL = `expires_in - 60s`.",
  "files": [
    "aspnet-core/src/cargo_fleet.Application/CargasAdicionais/CargaAdicionalService.cs"
  ],
  "pass": 1,
  "relatedActions": [
    "ACT-2.6"
  ],
  "relatedFindings": [
    "P-10"
  ]
}