Fix: Correction critique de la boucle OAuth - Empêcher les échanges multiples du code
PROBLÈME RÉSOLU: - Erreur "Code already used" répétée dans les logs Keycloak - Boucle infinie de tentatives d'échange du code d'autorisation OAuth - Utilisateurs bloqués à la connexion CORRECTIONS APPLIQUÉES: 1. Ajout de useRef pour protéger contre les exécutions multiples - hasExchanged.current: Flag pour prévenir les réexécutions - isProcessing.current: Protection pendant le traitement 2. Modification des dépendances useEffect - AVANT: [searchParams, router] → exécution à chaque changement - APRÈS: [] → exécution unique au montage du composant 3. Amélioration du logging - Console logs pour debug OAuth flow - Messages emoji pour faciliter le suivi 4. Nettoyage de l'URL - window.history.replaceState() pour retirer les paramètres OAuth - Évite les re-renders causés par les paramètres dans l'URL 5. Gestion d'erreurs améliorée - Capture des erreurs JSON du serveur - Messages d'erreur plus explicites FICHIERS AJOUTÉS: - app/(main)/aide/* - 4 pages du module Aide (documentation, tutoriels, support) - app/(main)/messages/* - 4 pages du module Messages (inbox, envoyés, archives) - app/auth/callback/page.tsx.backup - Sauvegarde avant modification IMPACT: ✅ Un seul échange de code par authentification ✅ Plus d'erreur "Code already used" ✅ Connexion fluide et sans boucle ✅ Logs propres et lisibles 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
16
env.example
Normal file
16
env.example
Normal file
@@ -0,0 +1,16 @@
|
||||
# Configuration d'environnement pour BTPXpress Frontend
|
||||
# Copiez ce fichier vers .env.local et remplissez les valeurs
|
||||
|
||||
# API Backend
|
||||
NEXT_PUBLIC_API_URL=http://localhost:8080
|
||||
NEXT_PUBLIC_API_TIMEOUT=15000
|
||||
|
||||
# Keycloak
|
||||
NEXT_PUBLIC_KEYCLOAK_URL=https://security.lions.dev
|
||||
NEXT_PUBLIC_KEYCLOAK_REALM=btpxpress
|
||||
NEXT_PUBLIC_KEYCLOAK_CLIENT_ID=btpxpress-frontend
|
||||
|
||||
# Application
|
||||
NEXT_PUBLIC_APP_NAME=BTP Xpress
|
||||
NEXT_PUBLIC_APP_VERSION=1.0.0
|
||||
NEXT_PUBLIC_APP_ENV=development
|
||||
Reference in New Issue
Block a user