Skip to content

Fase 4: Autenticação + Logging Middleware #4

@DavyMassoneto

Description

@DavyMassoneto

User Story

Como operador do Kestrel, quero que requests ao proxy exijam API key válida e que cada request seja logado para auditoria.

Escopo

Autenticação (usecase + middleware)

  • usecase/authenticate.go — AuthenticateUseCase: valida API key por prefixo + hash
  • adapter/middleware/auth.go — extrai Bearer token, chama AuthenticateUseCase, injeta APIKey no context, retorna 401 se inválido

Logging Middleware

  • adapter/middleware/logging.go — RequestLogger interface, mede latência, registra request/response, loga fallback metadata

Critérios de aceite

  • Request sem Bearer token → 401
  • Request com token inválido → 401
  • Request com token válido → passa para handler
  • APIKey injetada no context, acessível pelo handler
  • Cada request logado com method, path, status, latência, request_id
  • Coverage 100%

Referência

  • docs/02-ARCHITECTURE.md
  • docs/03-REQUEST-FLOW.md (middleware chain)
  • docs/08-IMPLEMENTATION-PHASES.md — Fase 4

Metadata

Metadata

Assignees

No one assigned

    Labels

    phase-2Fase 2: Domínio + Tradução

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions