Files
noteflow/README_GOOGLE_CALENDAR.md
T
Claude 3cb6c81489 Feature: Ajout du support OAuth2 et Service Account pour Google Calendar
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).
2025-11-12 13:05:40 +00:00

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

📖 Guide complet 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_URL ajoutée dans .env.example
  • Guide de configuration détaillé dans OAUTH_SETUP.md

✅ Pas de choix de compte Google

  • Le prompt select_account force 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 :

  1. Créez .env avec APP_URL=http://localhost:2222
  2. Configurez OAuth 2.0 dans Google Cloud Console
  3. Dans NoteFlow : Administration > Google Calendar > OAuth 2.0
  4. Ajoutez Client ID et Client Secret
  5. Cliquez sur "Se connecter avec Google"

Pour Service Account :

  1. Créez un Service Account sur Google Cloud Console
  2. Téléchargez la clé JSON
  3. Partagez votre calendrier avec l'email du Service Account
  4. Dans NoteFlow : Administration > Google Calendar > Service Account
  5. Collez le JSON et l'email du calendrier
  6. 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