Skip to main content
Con l’autenticazione OAuth 2.0 gli utenti concedono l’accesso ai propri Google Sheets. È adatta ad applicazioni che gestiscono dati specifici per singolo utente.

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

1

Configura Google Cloud Console

  1. Vai alla Google Cloud Console
  2. Seleziona o crea un nuovo progetto
  3. Vai su APIs & Services > Library
  4. Abilita le seguenti API:
    • Google Sheets API
    • Google Drive API
2

Crea credenziali OAuth 2.0

  1. Vai su APIs & Services > Credentials
  2. Clicca su Create Credentials > OAuth client ID
  3. 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/spreadsheets e https://www.googleapis.com/auth/drive
  4. Come tipo di applicazione seleziona Web application
  5. Aggiungi gli URI di redirect autorizzati:
    • Ambiente di sviluppo: http://localhost:8000/auth/google/callback
    • Produzione: https://yourdomain.com/auth/google/callback
  6. Clicca su Create
  7. Copia Client ID e Client Secret
3

Configura l'ambiente Laravel

Aggiungi al file .env:
Aggiorna config/google.php:
4

Installa Laravel Socialite

Aggiungi in config/services.php:
5

Implementa il controller di autenticazione

6

Aggiungi le rotte

7

Aggiorna il modello User

Migrazione:
Modello User:
8

Usa Sheets

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
Errore “invalid_grant” o “unauthorized”
  • Token scaduto e refresh fallito
  • Richiedi la riautenticazione all’utente
  • Verifica che esista un refresh token
Errore “access_denied”
  • L’utente ha rifiutato di concedere il permesso
  • Gestisci con un messaggio adeguato
  • Fornisci un’opzione per tentare la riautenticazione

Rotta di test

Ultima modifica il 13 luglio 2026