5d94572569
Vorbereitung für pod-unabhängige Sessions (k8s-Ziel). Ändert am Live-System NICHTS: AUTH_BACKEND='session' bleibt Default, die neuen Libs sind noch nirgends verdrahtet. - composer eingeführt: firebase/php-jwt ^6.11 + predis/predis ^2.4 (pure PHP, keine Redis-Extension nötig → läuft auf XAMPP wie im Prod-Image). vendor/ committed (kein Composer auf dem Server). - Jwt.php: HS256-Access-Token (issue/verify), decode() IMMER mit explizitem Algorithmus (mitigiert Algorithmus-Confusion). 8/8 Tests grün. - SessionStore.php: predis-gestützter Session/Refresh-Store (sess:<sid>, Sliding-TTL, revoke=DEL) — die widerrufbare Session hinter dem kurzen JWT. - app.php: vendor/autoload (guarded), Konstanten AUTH_BACKEND (Default session), REDIS_URL, JWT_TTL, JWT_REFRESH_TTL. JWT_SECRET bewusst ohne Default. - docker-compose.dev.yml: Redis (+ redis-commander UI) für lokale Dev-Parität. - .env.example um Auth-Block ergänzt. Nächste Phasen: $_SESSION-Zugriffe (293) durch Session:: kanalisieren → Backend-Umschalter in Session.php → doppelgleisiger Cutover → Reporting auf student_id-FK ziehen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
965 B
YAML
31 lines
965 B
YAML
# Lokale Dev-Infrastruktur für GeoGraSim
|
|
# ---------------------------------------
|
|
# Startet Redis als Session-/Refresh-Store für den JWT-Auth-Umbau.
|
|
# XAMPP-PHP (nativ) verbindet sich via REDIS_URL=tcp://127.0.0.1:6379
|
|
# (in App/.env.local setzen).
|
|
#
|
|
# docker compose -f docker-compose.dev.yml up -d
|
|
# docker compose -f docker-compose.dev.yml down
|
|
#
|
|
# Redis-Weboberfläche zum Reinschauen: http://localhost:8081
|
|
services:
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: geograsim-redis-dev
|
|
ports:
|
|
- "127.0.0.1:6379:6379"
|
|
# Dev: keine Persistenz nötig (Sessions sind flüchtig)
|
|
command: ["redis-server", "--save", "", "--appendonly", "no"]
|
|
restart: unless-stopped
|
|
|
|
redis-commander:
|
|
image: rediscommander/redis-commander:latest
|
|
container_name: geograsim-redis-ui-dev
|
|
environment:
|
|
- REDIS_HOSTS=local:redis:6379
|
|
ports:
|
|
- "127.0.0.1:8081:8081"
|
|
depends_on:
|
|
- redis
|
|
restart: unless-stopped
|