Architecture modifiée pour Frontend-Centric Authentication: 1. **Suppression des dépendances OIDC** - quarkus-oidc → quarkus-smallrye-jwt - quarkus-keycloak-authorization → quarkus-smallrye-jwt-build - Le backend ne gère plus l'authentification OAuth 2. **Configuration JWT simple** - Validation des tokens JWT envoyés par le frontend - mp.jwt.verify.publickey.location (JWKS de Keycloak) - mp.jwt.verify.issuer (Keycloak realm) - Authentification via Authorization: Bearer header 3. **Suppression configurations OIDC** - application.properties: Suppression %dev.quarkus.oidc.* - application.properties: Suppression %prod.quarkus.oidc.* - application-prod.properties: Remplacement par mp.jwt.* - Logging: io.quarkus.oidc → io.quarkus.smallrye.jwt 4. **Sécurité simplifiée** - quarkus.security.auth.proactive=false - @Authenticated sur les endpoints - CORS configuré pour le frontend - Endpoints publics: /q/*, /openapi, /swagger-ui/* Flux d'authentification: 1️⃣ Frontend → Keycloak (OAuth login) 2️⃣ Frontend ← Keycloak (access_token) 3️⃣ Frontend → Backend (Authorization: Bearer token) 4️⃣ Backend valide le token JWT (signature + issuer) 5️⃣ Backend → Frontend (données API) Avantages: ✅ Pas de secret backend à gérer ✅ Pas de client btpxpress-backend dans Keycloak ✅ Séparation claire frontend/backend ✅ Backend devient une API REST stateless ✅ Tokens gérés par le frontend (localStorage/sessionStorage) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1.1 KiB
1.1 KiB
✅ CORRECTIONS APPLIQUÉES
🔧 ERREURS DE COMPILATION RÉSOLUES
1. Fichiers avec noms incorrects supprimés
- ✅
FournisseurResource.migrated.java→ supprimé (doublon) - ✅
LivraisonMaterielResource_temp.java→ supprimé (temporaire) - ✅
TraditionalMaterielResource.java→ supprimé (mauvais nom)
2. Repository Abonnement supprimé
- ✅
AbonnementRepository.java→ supprimé (entité Abonnement n'existe plus)
3. Cache de compilation nettoyé
- ✅
target/→ supprimé pour forcer recompilation complète
📋 FICHIERS RESTANTS VALIDES
Tous les Resources sont maintenant dans adapter/http/ :
- ✅
FournisseurResource.java - ✅
LivraisonMaterielResource.java - ✅
PlanningMaterielResource.java - ✅
ComparaisonFournisseurResource.java - ✅
ReservationMaterielResource.java - ✅
PermissionResource.java - ✅
ZoneClimatiqueResource.java
⚠️ NOTE
Le type TypeAbonnement existe toujours dans domain/core/entity/ (enum) et reste valide.
Si le backend ne démarre toujours pas, relancer :
mvn clean compile quarkus:dev