Files
noteflow/routes
Claude e00824ec29 Fix: Détection automatique URL pour OAuth Google Calendar
Problème:
L'application échouait avec l'erreur "URL du site non configurée"
lors de l'utilisation de Google Calendar car l'URL du site (app_url)
n'était pas définie dans les paramètres, bloquant toutes les opérations
OAuth (récupération événements, synchronisation, ajout d'événements).

Erreur:
```
Error: URL du site non configurée. Veuillez configurer l'URL dans les paramètres.
    at getOAuth2Client (/app/routes/calendar.routes.js:47:11)
    at async getValidTokens (/app/routes/calendar.routes.js:312:24)
    at async getCalendarClient (/app/routes/calendar.routes.js:113:26)
```

Solution:
Ajout d'une détection automatique de l'URL depuis les headers HTTP de
la requête Express, avec cascade de fallback :

1. URL personnalisée (customRedirectUri) - si fournie explicitement
2. URL configurée (app_url settings) - si définie dans paramètres
3. **URL détectée automatiquement** - depuis headers HTTP (NOUVEAU)
   - x-forwarded-proto ou req.protocol
   - x-forwarded-host ou req.headers.host

Changements:
- routes/calendar.routes.js:
  * getOAuth2Client: Ajout paramètre `req` et logique détection URL
  * getCalendarClient: Ajout paramètre `req` et transmission
  * getValidTokens: Ajout paramètre `req` et transmission
  * Mise à jour tous les appels (5 emplacements):
    - GET /auth-url
    - GET /oauth-callback
    - POST /sync
    - POST /events
    - PUT /events/:id
  * Amélioration message d'erreur avec chemin exact paramètres

Comportement:
- Compatible avec proxy inverse (Nginx) via x-forwarded-* headers
- Fonctionne en direct ou derrière proxy
- Ne nécessite plus de configuration manuelle app_url (optionnel)
- Fallback intelligent sur configuration existante si présente

Cette correction permet à l'application de fonctionner immédiatement
sans configuration supplémentaire tout en respectant les configurations
manuelles existantes.
2025-11-13 16:14:33 +00:00
..