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

42 lines
1.3 KiB
Markdown

# 🔧 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
```bash
cd C:\Users\dadyo\PersonalProjects\lions-workspace\btpxpress\btpxpress-server
mvn clean
```
### 3. Compiler le projet
```bash
mvn compile
```
### 4. Démarrer en mode dev
```bash
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.