Skip to main content
Bei der OAuth-2.0-Authentifizierung erteilen Nutzer Zugriff auf ihre individuellen Google Sheets. Geeignet für Anwendungen, die mit nutzerspezifischen Daten arbeiten.

Anwendungsfälle

  • Nutzerzentrierte Apps – Nutzer greifen auf ihre eigenen Google Sheets zu
  • Multi-Tenant-Apps – Verschiedene Nutzer verwalten unterschiedliche Spreadsheets
  • Zugriff auf persönliche Daten – Sheets im eigenen Konto der Nutzer lesen/schreiben
  • Desktop- oder Webanwendungen – Nutzerinteraktion möglich

Voraussetzungen

  • Ein Projekt in der Google Cloud Console
  • Google Sheets API und Google Drive API aktiviert
  • Laravel Socialite (empfohlen)

Einrichtung

1

Google Cloud Console konfigurieren

  1. Gehen Sie zur Google Cloud Console.
  2. Wählen Sie ein Projekt aus oder erstellen Sie ein neues.
  3. Navigieren Sie zu APIs & Services > Library.
  4. Aktivieren Sie folgende APIs:
    • Google Sheets API
    • Google Drive API
2

OAuth-2.0-Credentials erstellen

  1. Gehen Sie zu APIs & Services > Credentials.
  2. Klicken Sie auf Create Credentials > OAuth client ID.
  3. Konfigurieren Sie den OAuth-Consent-Screen (nur beim ersten Mal):
    • Setzen Sie den User Type auf External.
    • Füllen Sie die Pflichtfelder aus (App-Name, Support-Mail, Entwickler-Kontakt).
    • Fügen Sie die Scopes hinzu: https://www.googleapis.com/auth/spreadsheets und https://www.googleapis.com/auth/drive.
  4. Wählen Sie als Anwendungstyp Web application.
  5. Fügen Sie die Authorized Redirect URIs hinzu:
    • Entwicklung: http://localhost:8000/auth/google/callback
    • Produktion: https://yourdomain.com/auth/google/callback
  6. Klicken Sie auf Create.
  7. Kopieren Sie Client ID und Client Secret.
3

Laravel-Umgebung konfigurieren

Fügen Sie in der .env hinzu:
Aktualisieren Sie config/google.php:
4

Laravel Socialite installieren

In config/services.php ergänzen:
5

Authentifizierungs-Controller implementieren

6

Routen hinzufügen

7

User-Modell aktualisieren

Migration:
User-Modell:
8

Sheets verwenden

Token-Refresh

Das Paket behandelt abgelaufene Tokens automatisch:

Middleware

Middleware, die eine Google-Authentifizierung verlangt:

Sicherheit

1. Tokenspeicherung

  • Tokens sicher in der Datenbank speichern
  • Die integrierte Verschlüsselung von Laravel verwenden
  • Tokens nicht clientseitig offenlegen

2. Scope-Management

  • Nur die minimal erforderlichen Scopes anfordern
  • Das Prinzip der geringsten Berechtigung anwenden
  • Den Nutzern die benötigten Berechtigungen klar erläutern

3. Fehlerbehandlung

  • Abgelaufene Tokens angemessen behandeln
  • Einen nutzerfreundlichen Ablauf für die erneute Authentifizierung bereitstellen
  • Fehler protokollieren und überwachen

Fehlerbehebung

Häufige Fehler

Fehler „redirect_uri_mismatch”
  • Prüfen Sie, ob die Redirect-URI in der Google Console mit der der Anwendung exakt übereinstimmt.
  • Achten Sie auf den Unterschied zwischen http und https.
  • Prüfen Sie den abschließenden Slash.
Fehler „invalid_grant” oder „unauthorized”
  • Das Token ist abgelaufen und der Refresh ist fehlgeschlagen.
  • Fordern Sie den Nutzer zur erneuten Authentifizierung auf.
  • Prüfen Sie, ob ein Refresh-Token vorhanden ist.
Fehler „access_denied”
  • Der Nutzer hat die Berechtigung verweigert.
  • Reagieren Sie mit einer passenden Meldung.
  • Bieten Sie eine Möglichkeit zur erneuten Authentifizierung.

Test-Route

Zuletzt geändert am 13. Juli 2026