Skip to main content
Avec l’authentification OAuth 2.0, chaque utilisateur accorde individuellement l’accès à ses propres Google Sheets. Cette méthode est destinée aux applications manipulant des données propres à chaque utilisateur.

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

1

Configurer Google Cloud Console

  1. Accédez à Google Cloud Console
  2. Sélectionnez ou créez un projet
  3. Rendez-vous dans APIs & Services > Library
  4. Activez les API suivantes :
    • Google Sheets API
    • Google Drive API
2

Créer les identifiants OAuth 2.0

  1. Rendez-vous dans APIs & Services > Credentials
  2. Cliquez sur Create Credentials > OAuth client ID
  3. 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/spreadsheets et https://www.googleapis.com/auth/drive
  4. Sélectionnez Web application comme type d’application
  5. Ajoutez les URI de redirection autorisés :
    • Environnement de développement : http://localhost:8000/auth/google/callback
    • Production : https://yourdomain.com/auth/google/callback
  6. Cliquez sur Create
  7. Copiez le Client ID et le Client Secret
3

Configurer l'environnement Laravel

Ajoutez au fichier .env :
Mettez à jour config/google.php :
4

Installer Laravel Socialite

Ajoutez à config/services.php :
5

Implémenter le contrôleur d'authentification

6

Ajouter les routes

7

Mettre à jour le modèle User

Migration :
Modèle User :
8

Utiliser Sheets

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
Erreur « invalid_grant » ou « unauthorized »
  • Le token est expiré et le rafraîchissement a échoué
  • Demandez à l’utilisateur de se ré-authentifier
  • Vérifiez que le refresh token existe
Erreur « access_denied »
  • L’utilisateur a refusé l’autorisation
  • Gérez la situation avec un message adapté
  • Proposez une option de nouvelle tentative d’authentification

Route de test

Dernière modification le 13 juillet 2026