mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-13 18:26:43 +02:00
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.