mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
Ajout de deux méthodes d'authentification au choix pour Google Calendar : 1. **OAuth 2.0** (méthode existante améliorée) : - ✅ Prompt de sélection de compte Google ('select_account consent') - ✅ Gestion dynamique du redirect_uri avec APP_URL - ✅ Idéal pour accès au calendrier personnel avec consentement 2. **Service Account** (nouvelle méthode) : - ✅ Authentification via clé JSON sans interaction utilisateur - ✅ Parfait pour calendriers partagés en entreprise - ✅ Synchronisation automatique en arrière-plan - ✅ Configuration de l'email du calendrier à synchroniser ## Backend (routes/calendar.routes.js) : - Ajout des constantes AUTH_TYPES (oauth2, service_account) - Fonction getAuthType() pour récupérer la méthode configurée - Fonction getServiceAccountClient() pour Service Account - Fonction getCalendarClient() unifiée qui choisit la bonne méthode - Route /auth-status mise à jour pour retourner le type d'auth - Route /sync adaptée pour supporter les deux méthodes - Support du calendrier email personnalisé pour Service Account ## Frontend (src/pages/Index.tsx) : - Menu déroulant pour choisir entre OAuth2 et Service Account - Interface conditionnelle selon la méthode choisie - Champ textarea pour la clé JSON du Service Account - Champ email pour spécifier le calendrier à synchroniser - Affichage du type d'authentification dans le statut - Amélioration de l'UI avec descriptions claires ## Documentation : - OAUTH_SETUP.md : Guide complet mis à jour avec les deux méthodes - Section dédiée au choix de la méthode - Guide pas à pas pour Service Account - Dépannage pour les deux méthodes - README_GOOGLE_CALENDAR.md : Guide de démarrage rapide (nouveau) - Comparaison des deux méthodes - Configuration rapide pour chaque méthode - Liens vers la documentation complète Cette implémentation offre une flexibilité maximale pour s'adapter à différents cas d'usage : personnel (OAuth2) ou professionnel (Service Account).
2.1 KiB
2.1 KiB
Google Calendar - Deux méthodes d'authentification
NoteFlow supporte maintenant deux méthodes pour se connecter à Google Calendar :
🔐 OAuth 2.0 (Recommandé pour usage personnel)
Avantages :
- Accès sécurisé à votre calendrier personnel
- Choix du compte Google lors de la connexion
- Consentement explicite de l'utilisateur
Utilisation : Administration > Google Calendar > Méthode : OAuth 2.0
🤖 Service Account (Pour automatisation)
Avantages :
- Aucune interaction utilisateur requise
- Parfait pour calendriers partagés en entreprise
- Fonctionne en arrière-plan automatiquement
Utilisation : Administration > Google Calendar > Méthode : Service Account
📖 Guide complet Service Account
Problèmes courants résolus
✅ Erreur 400 : redirect_uri_mismatch
- Variable
APP_URLajoutée dans.env.example - Guide de configuration détaillé dans OAUTH_SETUP.md
✅ Pas de choix de compte Google
- Le prompt
select_accountforce maintenant l'affichage du sélecteur
✅ Besoin d'accès automatisé sans popup
- Utilisez Service Account pour une authentification sans interaction
Configuration rapide
Pour OAuth 2.0 :
- Créez
.envavecAPP_URL=http://localhost:2222 - Configurez OAuth 2.0 dans Google Cloud Console
- Dans NoteFlow : Administration > Google Calendar > OAuth 2.0
- Ajoutez Client ID et Client Secret
- Cliquez sur "Se connecter avec Google"
Pour Service Account :
- Créez un Service Account sur Google Cloud Console
- Téléchargez la clé JSON
- Partagez votre calendrier avec l'email du Service Account
- Dans NoteFlow : Administration > Google Calendar > Service Account
- Collez le JSON et l'email du calendrier
- Cliquez sur "Synchroniser"
Documentation complète
📚 Consultez OAUTH_SETUP.md pour :
- Guide pas à pas complet
- Résolution des erreurs
- Checklist de vérification
- Conseils de dépannage