Cas d’application
- Applications orientées utilisateur — L’utilisateur accède à ses propres Google Sheets
- Applications multi-tenant — Différents utilisateurs gèrent différentes feuilles de calcul
- Accès à des données personnelles — Lire et écrire les feuilles du compte individuel de l’utilisateur
- Applications desktop / web — Une interaction utilisateur est possible
Prérequis
- Projet Google Cloud Console
- Google Sheets API et Google Drive API activés
- Laravel Socialite (recommandé)
Configuration
Configurer Google Cloud Console
- Accédez à Google Cloud Console
- Sélectionnez ou créez un projet
- Rendez-vous dans APIs & Services > Library
- Activez les API suivantes :
- Google Sheets API
- Google Drive API
Créer les identifiants OAuth 2.0
- Rendez-vous dans APIs & Services > Credentials
- Cliquez sur Create Credentials > OAuth client ID
- Configurez l’écran de consentement OAuth (première fois uniquement) :
- Sélectionnez le type d’utilisateur External
- Renseignez les champs obligatoires (nom de l’application, e-mail de support, contact développeur)
- Ajoutez les portées :
https://www.googleapis.com/auth/spreadsheetsethttps://www.googleapis.com/auth/drive
- Sélectionnez Web application comme type d’application
- Ajoutez les URI de redirection autorisés :
- Environnement de développement :
http://localhost:8000/auth/google/callback - Production :
https://yourdomain.com/auth/google/callback
- Environnement de développement :
- Cliquez sur Create
- Copiez le Client ID et le Client Secret
Rafraîchissement du token
Le package gère automatiquement l’expiration du token :Middleware
Middleware qui exige l’authentification Google :Sécurité
1. Stockage des tokens
- Stockez les tokens en base de données de manière sécurisée
- Utilisez le chiffrement intégré de Laravel
- N’exposez pas les tokens côté client
2. Gestion des portées
- Ne demandez que les portées strictement nécessaires
- Appliquez le principe du moindre privilège
- Expliquez clairement à l’utilisateur les permissions requises
3. Gestion des erreurs
- Gérez correctement les tokens expirés
- Fournissez un flux de ré-authentification convivial
- Journalisez et surveillez les erreurs
Dépannage
Erreurs courantes
Erreur « redirect_uri_mismatch »- Vérifiez que l’URI de redirection de la Google Console correspond exactement à celui de l’application
- Vérifiez la différence http vs https
- Vérifiez la présence ou non d’un slash final
- Le token est expiré et le rafraîchissement a échoué
- Demandez à l’utilisateur de se ré-authentifier
- Vérifiez que le refresh token existe
- L’utilisateur a refusé l’autorisation
- Gérez la situation avec un message adapté
- Proposez une option de nouvelle tentative d’authentification