Voltar ao catalogoSCALE-H4
GetAccessTokenAsync sem cache (OAuth2 token por requisicao)
HighAchado ConfirmadoEscalabilidadeRodada 1
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
Achados Relacionados
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"
]
}
Descricao
GetAccessTokenAsyncnoCargaAdicionalServicenao cacheia o token de acesso. Novo token obtido a cada chamada.