SAM (Secure API Manager)

Gestione sicura di API key con Kotlin e Spring Boot

Cos’è SAM?

SAM è un’applicazione sviluppata in Kotlin con Spring Boot per la gestione sicura di chiavi API. Supporta autenticazione per endpoint protetti, gestione della scadenza delle chiavi e organizzazione per progetto e proprietario.

Caratteristiche

Tech Stack

Requisiti

Installazione

  1. Clona il repository
  2. Configura application.yml con i parametri di InfluxDB
  3. Avvia l’applicazione:
./gradlew bootRun

L’app sarà disponibile su http://localhost:5000

API Documentation

Swagger UI è disponibile su:
/swagger-ui/index.html

Principali endpoint API

Gestione chiavi

Endpoint protetti

Autenticazione

Gli endpoint protetti richiedono un’intestazione con la chiave:

X-API-KEY: la-tua-api-key

Struttura del progetto

src/
├── main/
│   ├── kotlin/com/apikeys/
│   │   ├── config/       # Configurazioni
│   │   ├── controller/   # Controller REST
│   │   ├── dto/          # DTO
│   │   ├── exception/    # Gestione eccezioni
│   │   ├── model/        # Modelli di dominio
│   │   ├── repository/   # Accesso ai dati
│   │   ├── security/     # Sicurezza
│   │   ├── service/      # Logica applicativa
│   │   └── util/         # Utility
└── test/
    └── kotlin/           # Test

Come contribuire

  1. Fork del progetto
  2. git checkout -b feature/nome-feature
  3. git commit -m "Aggiunta nuova feature"
  4. git push origin feature/nome-feature
  5. Apri una Pull Request

Distribuito sotto licenza MIT