Files
btpxpress-backend/SOLUTION_COMPILATION.md
DahoudG 7df5f346f1 Refactor: Backend Frontend-Centric Auth - Suppression OIDC, validation JWT
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>
2025-10-31 17:05:11 +00:00

1.3 KiB

🔧 SOLUTION AU PROBLÈME DE COMPILATION

🐛 PROBLÈME

Les packages dev.lions.btpxpress.application.service et dev.lions.btpxpress.domain.core.entity ne sont pas trouvés lors de la compilation Quarkus en mode dev.

SOLUTION

1. Arrêter le serveur Quarkus

Arrêtez le processus Quarkus en cours (Ctrl+C dans le terminal où il tourne)

2. Nettoyer complètement le projet

cd C:\Users\dadyo\PersonalProjects\lions-workspace\btpxpress\btpxpress-server
mvn clean

3. Compiler le projet

mvn compile

4. Démarrer en mode dev

mvn quarkus:dev

🔍 VÉRIFICATION

Les dossiers existent bien :

  • src/main/java/dev/lions/btpxpress/application/service/
  • src/main/java/dev/lions/btpxpress/domain/core/entity/

Le problème vient probablement du cache Quarkus qui est corrompu après les migrations de fichiers.

⚠️ NOTE

Si le problème persiste après mvn clean compile, il peut y avoir des erreurs de syntaxe dans certains fichiers qui empêchent la compilation. Dans ce cas, corrigez les erreurs une par une.

Les erreurs de Lombok (getters/setters non trouvés) sont normales si le projet n'a pas été compilé complètement - Lombok génère ces méthodes lors de la compilation.