Corrections apportées : 1. **redirect_uri_mismatch** : - Ajout de la variable APP_URL dans .env.example avec documentation - Amélioration de la fonction getOAuth2Client pour accepter une URI personnalisée - Gestion plus flexible du redirect_uri (APP_URL ou localhost par défaut) 2. **Choix du compte Google** : - Modification du prompt OAuth : 'consent' → 'select_account consent' - Force maintenant l'affichage du sélecteur de compte Google 3. **Interface utilisateur** : - Ajout d'un encadré d'avertissement visible avec l'URL de redirection exacte - Instructions claires pour la configuration dans Google Cloud Console - Indication pour configurer APP_URL si nécessaire 4. **Documentation** : - Création du fichier OAUTH_SETUP.md avec guide complet - Checklist de vérification pour le débogage - Exemples de configuration pour local et production Ces modifications permettent de résoudre l'erreur 400 redirect_uri_mismatch et d'offrir le choix du compte Google lors de la connexion.
3.3 KiB
Configuration OAuth Google Calendar
Ce guide vous aide à résoudre les erreurs d'authentification OAuth Google.
Problème : Erreur 400 - redirect_uri_mismatch
Cette erreur se produit quand l'URL de redirection configurée dans votre code ne correspond pas à celle configurée dans Google Cloud Console.
Solution
1. Identifier votre URL de redirection
Votre application utilise automatiquement :
{VOTRE_DOMAINE}/api/calendar/oauth-callback
Exemples :
- En local :
http://localhost:2222/api/calendar/oauth-callback - En production :
https://votredomaine.com/api/calendar/oauth-callback
2. Configurer la variable d'environnement APP_URL
Si vous utilisez un domaine personnalisé ou une URL différente de http://localhost:2222 :
-
Créez un fichier
.envà la racine du projet (copiez depuis.env.example) :cp .env.example .env -
Modifiez la variable
APP_URLdans le fichier.env:# Pour un domaine local APP_URL=http://localhost:2222 # Pour un domaine en production APP_URL=https://votredomaine.com # IMPORTANT : Pas de slash "/" à la fin ! -
Redémarrez l'application pour que les changements prennent effet.
3. Configurer Google Cloud Console
-
Allez sur Google Cloud Console - Credentials
-
Sélectionnez votre projet
-
Cliquez sur votre "OAuth 2.0 Client ID"
-
Dans la section "URIs de redirection autorisées", ajoutez EXACTEMENT l'URL affichée dans l'interface NoteFlow (panneau Administration > Google Calendar)
-
Cliquez sur "Enregistrer"
-
Important : Attendez quelques minutes que Google propage les changements (peut prendre 5-10 minutes)
4. Tester la connexion
-
Dans NoteFlow, allez dans Administration > Google Calendar
-
Vérifiez que l'URL affichée dans l'encadré jaune correspond exactement à celle configurée dans Google Cloud Console
-
Cliquez sur "Se connecter avec Google"
-
Vous devriez maintenant voir un écran de sélection de compte Google
Problème : Pas de choix du compte Google
Solution
Ce problème a été corrigé dans le code. L'authentification utilise maintenant prompt: 'select_account consent' qui force l'affichage du sélecteur de compte Google.
Si vous ne voyez toujours pas le choix du compte :
- Déconnectez-vous de Google Calendar dans NoteFlow
- Effacez les cookies Google dans votre navigateur
- Reconnectez-vous
Vérification rapide
✅ Checklist :
- Fichier
.envcréé avec la bonne valeur pourAPP_URL - URL de redirection configurée dans Google Cloud Console (sans faute de frappe !)
- API Google Calendar activée dans Google Cloud Console
- Client ID et Client Secret enregistrés dans NoteFlow
- Application redémarrée après modification du
.env - Attendu 5-10 minutes après modification dans Google Cloud Console
Besoin d'aide ?
Si le problème persiste :
- Vérifiez les logs de l'application pour des messages d'erreur détaillés
- Assurez-vous que votre navigateur accepte les cookies tiers
- Essayez en navigation privée pour éliminer les problèmes de cache
- Vérifiez que l'API Google Calendar est bien activée dans votre projet Google Cloud