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 |
|