mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
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).
This commit is contained in:
4 files changed
+415
-65
No files matched your search
@@ -0,0 +1,68 @@
|
||||
# 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](./OAUTH_SETUP.md#configuration-oauth-20)
|
||||
|
||||
---
|
||||
|
||||
## 🤖 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](./OAUTH_SETUP.md#configuration-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](./OAUTH_SETUP.md) pour :
|
||||
- Guide pas à pas complet
|
||||
- Résolution des erreurs
|
||||
- Checklist de vérification
|
||||
- Conseils de dépannage
|
||||
Reference in new issue
Block a user