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
Google Cloud Console konfigurieren
- Gehen Sie zur Google Cloud Console.
- Wählen Sie ein Projekt aus oder erstellen Sie ein neues.
- Navigieren Sie zu APIs & Services > Library.
- Aktivieren Sie folgende APIs:
- Google Sheets API
- Google Drive API
OAuth-2.0-Credentials erstellen
- Gehen Sie zu APIs & Services > Credentials.
- Klicken Sie auf Create Credentials > OAuth client ID.
- 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/spreadsheetsundhttps://www.googleapis.com/auth/drive.
- Wählen Sie als Anwendungstyp Web application.
- Fügen Sie die Authorized Redirect URIs hinzu:
- Entwicklung:
http://localhost:8000/auth/google/callback - Produktion:
https://yourdomain.com/auth/google/callback
- Entwicklung:
- Klicken Sie auf Create.
- Kopieren Sie Client ID und Client Secret.
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.
- 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.
- Der Nutzer hat die Berechtigung verweigert.
- Reagieren Sie mit einer passenden Meldung.
- Bieten Sie eine Möglichkeit zur erneuten Authentifizierung.