Google OAuth
Google OAuth Setup
Abschnitt betitelt „Google OAuth Setup“Anleitung zur Konfiguration von Google als OAuth-Provider.
Google Cloud Projekt erstellen
Abschnitt betitelt „Google Cloud Projekt erstellen“Schritt 1: Google Cloud Console öffnen
Abschnitt betitelt „Schritt 1: Google Cloud Console öffnen“- Gehe zu Google Cloud Console
- Erstelle ein neues Projekt oder wähle ein bestehendes
- Notiere dir die Projekt-ID
Schritt 2: OAuth Consent Screen konfigurieren
Abschnitt betitelt „Schritt 2: OAuth Consent Screen konfigurieren“- Navigiere zu “APIs & Services” → “OAuth consent screen”
- Wähle “External” (für öffentliche Apps) oder “Internal” (nur für G Suite)
- Fülle aus:
- App name: Name deiner App
- User support email: Deine E-Mail
- Developer contact information: Deine E-Mail
- Klicke auf “Save and Continue”
Schritt 3: Scopes hinzufügen
Abschnitt betitelt „Schritt 3: Scopes hinzufügen“- Klicke auf “Add or Remove Scopes”
- Wähle folgende Scopes:
userinfo.emailuserinfo.profileopenid
- Klicke auf “Save and Continue”
Schritt 4: OAuth Client ID erstellen
Abschnitt betitelt „Schritt 4: OAuth Client ID erstellen“- Navigiere zu “Credentials” → “Create Credentials” → “OAuth client ID”
- Wähle “Web application”
- Fülle aus:
| Feld | Wert |
|---|---|
| Name | Dein App Name Auth |
| Authorized JavaScript origins | https://deine-domain.de |
| Authorized redirect URIs | https://auth.deine-domain.de/auth/callback |
- Klicke auf “Create”
Schritt 5: Credentials kopieren
Abschnitt betitelt „Schritt 5: Credentials kopieren“Nach dem Erstellen:
- Kopiere die Client ID
- Kopiere das Client Secret
Cloudflare Secrets konfigurieren
Abschnitt betitelt „Cloudflare Secrets konfigurieren“Speichere die Google Credentials in Cloudflare:
# Provider auf Google setzenwrangler secret put OAUTH_PROVIDER# Eingabe: google
# Google Client IDwrangler secret put OAUTH_CLIENT_ID# Eingabe: deine-google-client-id.apps.googleusercontent.com
# Google Client Secretwrangler secret put OAUTH_CLIENT_SECRET# Eingabe: dein-google-client-secret
# Callback URLwrangler secret put OAUTH_REDIRECT_URI# Eingabe: https://auth.deine-domain.de/auth/callback
# Frontend URLwrangler secret put FRONTEND_URL# Eingabe: https://deine-domain.de
# JWT Secretwrangler secret put JWT_SECRET# Eingabe: ein-langes-zufälliges-secretGoogle API Berechtigungen
Abschnitt betitelt „Google API Berechtigungen“Der OAuth-Flow fordert folgende Scopes an:
openid- OpenID Connectprofile- Zugriff auf Profil-Informationenemail- Zugriff auf E-Mail-Adresse
Benutzerdaten
Abschnitt betitelt „Benutzerdaten“Nach erfolgreicher Authentifizierung erhältst du:
{ "userId": "google:1234567890", "name": "Max Mustermann", "email": "max@example.com", "avatar": "https://lh3.googleusercontent.com/...", "provider": "google"}Lokale Entwicklung
Abschnitt betitelt „Lokale Entwicklung“Für lokale Entwicklung:
-
Füge in Google Cloud Console hinzu:
- Authorized redirect URIs:
http://localhost:8787/auth/callback
- Authorized redirect URIs:
-
Verwende die gleichen Credentials oder erstelle separate für Development
Nach der Konfiguration teste den OAuth-Flow:
- Öffne deine Frontend-App
- Klicke auf “Login”
- Du wirst zu Google weitergeleitet
- Wähle dein Google-Konto
- Autorisiere die App
- Du wirst zurück zu deiner App weitergeleitet mit einem JWT Token
Troubleshooting
Abschnitt betitelt „Troubleshooting“”redirect_uri_mismatch”
Abschnitt betitelt „”redirect_uri_mismatch”“Problem: Google zeigt einen Fehler wegen falscher Redirect URI.
Lösung:
- Prüfe, dass
OAUTH_REDIRECT_URIexakt mit der in Google Cloud konfigurierten URI übereinstimmt - Achte auf
httpvshttps, Ports, trailing slashes - URI muss URL-encoded sein falls nötig
”Access blocked: This app’s request is invalid”
Abschnitt betitelt „”Access blocked: This app’s request is invalid”“Problem: OAuth Consent Screen ist nicht korrekt konfiguriert.
Lösung:
- Stelle sicher, dass der OAuth Consent Screen vollständig ausgefüllt ist
- Prüfe dass alle erforderlichen Scopes hinzugefügt wurden
”This app is blocked”
Abschnitt betitelt „”This app is blocked”“Problem: App ist im “Testing” Modus und User ist nicht als Test-User hinzugefügt.
Lösung:
- Gehe zu “OAuth consent screen” → “Test users”
- Füge Test-User hinzu
- Oder publiziere die App (nach Review)
App veröffentlichen
Abschnitt betitelt „App veröffentlichen“Für Production-Use solltest du deine App veröffentlichen:
- Gehe zu “OAuth consent screen”
- Klicke auf “Publish App”
- Google wird deine App reviewen (kann einige Tage dauern)
- Nach Approval können alle Google-User sich anmelden
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- OAuth Übersicht - Mehr über OAuth-Flow
- API Endpoints - Verfügbare Auth-Endpoints
- Client Library - Integration in deine App