- Configuration complète de la sécurité GBCM (JWT, mots de passe, verrouillage) - Profils dev, test, et production configurés - Génération des clés RSA pour JWT - Création de application-local.properties pour développement local - Ajout de la dépendance H2 pour les profils dev et test - Correction de User.getRoleString() pour Quarkus Security JPA - Correction des endpoints @FormParam avec @Consumes dans AuthResource et UserResource - Correction des données de test import.sql (ajout colonne deleted) - Documentation complète dans CONFIGURATION.md - Application démarre avec succès en mode dev
2.7 KiB
2.7 KiB
Configuration GBCM Server
Vue d'ensemble
Le serveur GBCM utilise Quarkus avec des profils de configuration pour différents environnements.
Profils disponibles
Profil par défaut (Production)
- Base de données PostgreSQL
- JWT avec clés RSA
- Logs au niveau WARN
- Sécurité renforcée
Profil dev (Développement)
- Base de données H2 en mémoire
- Logs au niveau DEBUG
- Sécurité allégée (BCrypt cost=4)
- Rechargement automatique
Profil test (Tests)
- Base de données H2 en mémoire
- Configuration optimisée pour les tests
- Sécurité minimale pour rapidité
Profil local (Développement local)
- Configuration personnalisable
- Utilise
application-local.properties
Variables d'environnement importantes
Base de données (Production)
DATABASE_URL=jdbc:postgresql://localhost:5432/gbcm_prod
DB_USERNAME=gbcm_prod_user
DB_PASSWORD=secure_password
JWT (Production)
JWT_SECRET=your-super-secure-jwt-secret-key-256-bits-minimum
Email (Production)
SMTP_USERNAME=your-smtp-username
SMTP_PASSWORD=your-smtp-password
Configuration de sécurité
Paramètres JWT
gbcm.security.jwt.access-token.duration: Durée de vie des tokens d'accès (défaut: 1h)gbcm.security.jwt.refresh-token.duration: Durée de vie des refresh tokens (défaut: 7j)gbcm.security.jwt.reset-token.duration: Durée de vie des tokens de reset (défaut: 2h)
Paramètres de mot de passe
gbcm.security.password.bcrypt-cost: Coût BCrypt (défaut: 12)gbcm.security.password.min-length: Longueur minimale (défaut: 8)gbcm.security.password.max-age: Âge maximum (défaut: 90j)
Paramètres de compte
gbcm.security.account.max-failed-attempts: Tentatives max (défaut: 5)gbcm.security.account.lockout-duration: Durée de verrouillage (défaut: 30min)
Démarrage rapide
Développement avec H2
mvn quarkus:dev
Développement avec configuration locale
mvn quarkus:dev -Dquarkus.profile=local
Tests
mvn test
Production
java -jar target/quarkus-app/quarkus-run.jar -Dquarkus.profile=prod
URLs importantes
- Application: http://localhost:8081
- Swagger UI: http://localhost:8081/swagger
- Health Check: http://localhost:8081/health
- Metrics: http://localhost:8081/q/metrics
Sécurité
⚠️ Important:
- Changez toujours
JWT_SECRETen production - Utilisez des mots de passe forts pour la base de données
- Configurez HTTPS en production
- Limitez les origines CORS en production
Logs
Les logs sont configurés par niveau :
com.gbcm: DEBUG en développement, INFO en productionorg.hibernate.SQL: DEBUG en développement seulement- Root level: DEBUG en dev, WARN en production