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>
This commit is contained in:
41
SOLUTION_COMPILATION.md
Normal file
41
SOLUTION_COMPILATION.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 🔧 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.
|
||||
|
||||
Reference in New Issue
Block a user