Zum Inhalt springen

Google OAuth

Anleitung zur Konfiguration von Google als OAuth-Provider.

  1. Gehe zu Google Cloud Console
  2. Erstelle ein neues Projekt oder wähle ein bestehendes
  3. Notiere dir die Projekt-ID
  1. Navigiere zu “APIs & Services”“OAuth consent screen”
  2. Wähle “External” (für öffentliche Apps) oder “Internal” (nur für G Suite)
  3. Fülle aus:
    • App name: Name deiner App
    • User support email: Deine E-Mail
    • Developer contact information: Deine E-Mail
  4. Klicke auf “Save and Continue”
  1. Klicke auf “Add or Remove Scopes”
  2. Wähle folgende Scopes:
    • userinfo.email
    • userinfo.profile
    • openid
  3. Klicke auf “Save and Continue”
  1. Navigiere zu “Credentials”“Create Credentials”“OAuth client ID”
  2. Wähle “Web application”
  3. Fülle aus:
FeldWert
NameDein App Name Auth
Authorized JavaScript originshttps://deine-domain.de
Authorized redirect URIshttps://auth.deine-domain.de/auth/callback
  1. Klicke auf “Create”

Nach dem Erstellen:

  1. Kopiere die Client ID
  2. Kopiere das Client Secret

Speichere die Google Credentials in Cloudflare:

Terminal-Fenster
# Provider auf Google setzen
wrangler secret put OAUTH_PROVIDER
# Eingabe: google
# Google Client ID
wrangler secret put OAUTH_CLIENT_ID
# Eingabe: deine-google-client-id.apps.googleusercontent.com
# Google Client Secret
wrangler secret put OAUTH_CLIENT_SECRET
# Eingabe: dein-google-client-secret
# Callback URL
wrangler secret put OAUTH_REDIRECT_URI
# Eingabe: https://auth.deine-domain.de/auth/callback
# Frontend URL
wrangler secret put FRONTEND_URL
# Eingabe: https://deine-domain.de
# JWT Secret
wrangler secret put JWT_SECRET
# Eingabe: ein-langes-zufälliges-secret

Der OAuth-Flow fordert folgende Scopes an:

  • openid - OpenID Connect
  • profile - Zugriff auf Profil-Informationen
  • email - Zugriff auf E-Mail-Adresse

Nach erfolgreicher Authentifizierung erhältst du:

{
"userId": "google:1234567890",
"name": "Max Mustermann",
"email": "max@example.com",
"avatar": "https://lh3.googleusercontent.com/...",
"provider": "google"
}

Für lokale Entwicklung:

  1. Füge in Google Cloud Console hinzu:

    • Authorized redirect URIs: http://localhost:8787/auth/callback
  2. Verwende die gleichen Credentials oder erstelle separate für Development

Nach der Konfiguration teste den OAuth-Flow:

  1. Öffne deine Frontend-App
  2. Klicke auf “Login”
  3. Du wirst zu Google weitergeleitet
  4. Wähle dein Google-Konto
  5. Autorisiere die App
  6. Du wirst zurück zu deiner App weitergeleitet mit einem JWT Token

Problem: Google zeigt einen Fehler wegen falscher Redirect URI.

Lösung:

  • Prüfe, dass OAUTH_REDIRECT_URI exakt mit der in Google Cloud konfigurierten URI übereinstimmt
  • Achte auf http vs https, 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

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)

Für Production-Use solltest du deine App veröffentlichen:

  1. Gehe zu “OAuth consent screen”
  2. Klicke auf “Publish App”
  3. Google wird deine App reviewen (kann einige Tage dauern)
  4. Nach Approval können alle Google-User sich anmelden