Casi d’uso
- App orientate all’utente — l’utente accede al proprio Google Sheets
- App multi-tenant — utenti diversi gestiscono spreadsheet diverse
- Accesso a dati personali — leggere e scrivere sui fogli dell’account personale dell’utente
- App desktop e web — dove è possibile l’interazione dell’utente
Prerequisiti
- Progetto Google Cloud Console
- Google Sheets API e Google Drive API abilitate
- Laravel Socialite (consigliato)
Setup
Configura Google Cloud Console
- Vai alla Google Cloud Console
- Seleziona o crea un nuovo progetto
- Vai su APIs & Services > Library
- Abilita le seguenti API:
- Google Sheets API
- Google Drive API
Crea credenziali OAuth 2.0
- Vai su APIs & Services > Credentials
- Clicca su Create Credentials > OAuth client ID
- Configura la schermata di consenso OAuth (solo la prima volta):
- Seleziona il tipo utente External
- Compila i campi obbligatori (nome app, email di supporto, contatto sviluppatore)
- Aggiungi gli scope:
https://www.googleapis.com/auth/spreadsheetsehttps://www.googleapis.com/auth/drive
- Come tipo di applicazione seleziona Web application
- Aggiungi gli URI di redirect autorizzati:
- Ambiente di sviluppo:
http://localhost:8000/auth/google/callback - Produzione:
https://yourdomain.com/auth/google/callback
- Ambiente di sviluppo:
- Clicca su Create
- Copia Client ID e Client Secret
Refresh del token
Il pacchetto gestisce automaticamente la scadenza del token:Middleware
Middleware che rende obbligatoria l’autenticazione Google:Sicurezza
1. Conservazione dei token
- Salva i token in modo sicuro nel database
- Usa la cifratura integrata di Laravel
- Non esporre i token lato client
2. Gestione degli scope
- Richiedi solo gli scope strettamente necessari
- Applica il principio del minimo privilegio
- Spiega chiaramente all’utente perché servono determinati permessi
3. Gestione degli errori
- Gestisci correttamente i token scaduti
- Offri un flusso di riautenticazione user-friendly
- Logga e monitora gli errori
Troubleshooting
Errori comuni
Errore “redirect_uri_mismatch”- Verifica che l’URI di redirect nella Google Console coincida esattamente con quello dell’applicazione
- Controlla la differenza tra http e https
- Controlla lo slash finale
- Token scaduto e refresh fallito
- Richiedi la riautenticazione all’utente
- Verifica che esista un refresh token
- L’utente ha rifiutato di concedere il permesso
- Gestisci con un messaggio adeguato
- Fornisci un’opzione per tentare la riautenticazione