Files
mic-after-work-server-impl-…/.env.example
dahoud fc451f025e fix(security): Correction definitive de la verification JWT HS256
PROBLEME RESOLU:

- Les tokens JWT generes au login n'etaient pas verifies correctement

- SmallRye JWT ne pouvait pas charger la cle de verification

- Incompatibilite entre l'issuer du token et celui attendu

CORRECTIONS:

- Creation de jwt-secret.jwk au format JWK standard pour cles symetriques

- Configuration smallrye.jwt.verify.key.location vers le fichier JWK

- Alignement de l'issuer sur 'afterwork' dans .env.example

Ce commit sert de checkpoint stable pour la configuration JWT.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 02:44:35 +00:00

130 lines
4.1 KiB
Plaintext

# ============================================
# AfterWork API - Configuration
# ============================================
# Copiez ce fichier vers .env et remplissez les valeurs appropriées
# NE JAMAIS COMMITTER le fichier .env !
#
# ==== INFRASTRUCTURE LIONS (Production) ====
# - API Gateway: https://api.lions.dev/afterwork
# - PostgreSQL: postgresql-service.postgresql.svc.cluster.local:5432
# - Kafka: kafka-service.kafka.svc.cluster.local:9092
# - Prometheus: https://prometheus.lions.dev
# - Grafana: https://grafana.lions.dev
# - Vault: https://vault.lions.dev
# - Keycloak: https://security.lions.dev
# ============================================
# BASE DE DONNÉES
# ============================================
# === Développement local ===
DB_HOST=localhost
DB_PORT=5432
DB_NAME=afterwork_dev
DB_USERNAME=skyfile
DB_PASSWORD=skyfile
# === Production Lions (via Kubernetes Secrets) ===
# DB_HOST=postgresql-service.postgresql.svc.cluster.local
# DB_PORT=5432
# DB_NAME=mic-after-work-server-impl-quarkus-main
# DB_USERNAME=lionsuser
# DB_PASSWORD=<voir-kubernetes-secrets>
# ============================================
# JWT / SÉCURITÉ
# ============================================
# Secret pour signer les tokens JWT (minimum 32 caractères)
# Générez avec: openssl rand -base64 32
JWT_SECRET=afterwork-jwt-secret-min-32-bytes-for-hs256!
JWT_LIFESPAN=86400
# IMPORTANT: L'issuer doit être "afterwork" (correspondant à JwtService.ISSUER)
JWT_ISSUER=afterwork
# ============================================
# SUPER ADMIN
# ============================================
SUPER_ADMIN_EMAIL=superadmin@afterwork.lions.dev
SUPER_ADMIN_PASSWORD=SuperAdmin2025!
SUPER_ADMIN_API_KEY=dev-super-admin-key
# ============================================
# EMAIL (SMTP)
# ============================================
# Mode mock pour le développement (pas d'envoi réel)
MAILER_MOCK=true
MAILER_HOST=smtp.gmail.com
MAILER_PORT=587
MAILER_USERNAME=noreply@afterwork.ci
MAILER_PASSWORD=CHANGEZ_MOI_SMTP_PASSWORD
MAILER_FROM=AfterWork <noreply@afterwork.ci>
# ============================================
# KAFKA
# ============================================
# === Développement local ===
KAFKA_BOOTSTRAP_SERVERS=localhost:9092
# === Production Lions ===
# KAFKA_BOOTSTRAP_SERVERS=kafka-service.kafka.svc.cluster.local:9092
# === Confluent Cloud (optionnel) ===
# KAFKA_BOOTSTRAP_SERVERS=pkc-xxxxx.region.provider.confluent.cloud:9092
# KAFKA_SECURITY_PROTOCOL=SASL_SSL
# KAFKA_SASL_MECHANISM=PLAIN
# KAFKA_SASL_USERNAME=YOUR_API_KEY
# KAFKA_SASL_PASSWORD=YOUR_API_SECRET
# ============================================
# WAVE PAYMENT
# ============================================
WAVE_BASE_URL=https://api.wave.com
WAVE_API_KEY=VOTRE_CLE_API_WAVE
WAVE_SECRET=VOTRE_SECRET_WAVE
WAVE_CURRENCY=XOF
WAVE_CALLBACK_URL=https://api.lions.dev/afterwork/webhooks/wave
# ============================================
# RATE LIMITING
# ============================================
AFTERWORK_RATELIMIT_MAX_REQUESTS=10
AFTERWORK_RATELIMIT_WINDOW_SECONDS=60
# ============================================
# QUARKUS
# ============================================
QUARKUS_PROFILE=dev
QUARKUS_PACKAGE_TYPE=fast-jar
QUARKUS_LOG_LEVEL=INFO
QUARKUS_LOG_CONSOLE_JSON=false
# CORS (développement)
QUARKUS_HTTP_CORS=true
QUARKUS_HTTP_CORS_ORIGINS=http://localhost:3000,http://localhost:4200
# ============================================
# OBSERVABILITÉ
# ============================================
# Métriques Prometheus (auto-découverte via annotations K8s)
QUARKUS_MICROMETER_EXPORT_PROMETHEUS_ENABLED=true
# Health checks
QUARKUS_SMALLRYE_HEALTH_UI_ENABLE=true
# ============================================
# DÉPLOIEMENT LIONS (lionsctl)
# ============================================
# Pour déployer avec lionsctl:
# lionsctl pipeline \
# -u https://git.lions.dev/lionsdev/mic-after-work-server-impl-quarkus-main \
# -b develop \
# -j 17 \
# -e production \
# -c k2 \
# -m dadyo@lions.dev
# Variables d'environnement requises pour lionsctl:
# LIONS_REGISTRY_USERNAME=lionsregistry
# LIONS_REGISTRY_PASSWORD=<votre-mot-de-passe>
# LIONS_GITEA_USERNAME=lionsctl-bot
# LIONS_GITEA_PASSWORD=lionsctl-bot@2025