Krisenvorrat Inventar-App – Android-App (Kotlin) zur Verwaltung eines Krisenvorrats-Inventars
Find a file
Jens Reinemann cb9bd2bdf4 feat(server): add API-Key authentication for REST endpoints
server/plugins/Authentication.kt:
- Custom Ktor AuthenticationProvider supporting both X-API-Key header
  and Authorization: Bearer <key> for API-Key validation
- ApiKeyPrincipal data class implementing Principal interface
- 401 Unauthorized with ErrorResponse body for missing/invalid keys

server/plugins/Routing.kt:
- Inventory routes wrapped in authenticate(api-key) block
- Health endpoint remains public (no auth required)

server/src/main/resources/application.conf:
- API key configurable via krisenvorrat.apiKey property
- Environment variable override via KRISENVORRAT_API_KEY

server/tests:
- 7 new AuthenticationTest cases (valid bearer, valid X-API-Key,
  missing key, invalid bearer, invalid X-API-Key, PUT without key,
  health without key)
- All existing ApplicationTest cases updated with bearer auth header

Closes #43
2026-05-14 20:50:16 +02:00
.github feat(ui): add category and location management screens 2026-05-14 00:56:36 +02:00
.vscode chore: initial project setup with Copilot config, skills, and workspace structure 2026-05-13 13:40:41 +02:00
Anforderungen docs(server-tech): ADR für Server-Technologie – Ktor gewählt 2026-05-14 19:22:27 +02:00
app feat(shared): add shared module with common DTO models 2026-05-14 19:50:23 +02:00
gradle feat(server): add API-Key authentication for REST endpoints 2026-05-14 20:50:16 +02:00
memories/repo chore: initial project setup with Copilot config, skills, and workspace structure 2026-05-13 13:40:41 +02:00
server feat(server): add API-Key authentication for REST endpoints 2026-05-14 20:50:16 +02:00
shared feat(shared): add shared module with common DTO models 2026-05-14 19:50:23 +02:00
.gitignore feat(server): add Exposed ORM database layer with H2 2026-05-14 20:15:07 +02:00
build.gradle.kts feat(server): add Ktor server module with health endpoint 2026-05-14 20:06:40 +02:00
gradle.properties fix: Build-Fehler beheben (gradle.properties, Theme, Icon) (#13) 2026-05-13 16:18:22 +02:00
gradlew feat: Android-Projekt-Gerüst anlegen (#13) 2026-05-13 15:24:39 +02:00
gradlew.bat feat: Android-Projekt-Gerüst anlegen (#13) 2026-05-13 15:24:39 +02:00
settings.gradle.kts feat(server): add Ktor server module with health endpoint 2026-05-14 20:06:40 +02:00