3.2 KiB
3.2 KiB
Google OAuth: manuelle Restarbeiten
Stand: 2026-05-15
1. Google Cloud Console vorbereiten
- In der Google Cloud Console das passende Projekt öffnen oder ein neues Projekt anlegen.
- Unter
APIs & Services > OAuth consent screenden Consent Screen konfigurieren. - App-Name, Support-E-Mail und Entwicklerkontakt eintragen.
- Scopes reichen für diese App:
profileemail
- Unter
APIs & Services > Credentialseinen OAuth-Client vom TypWeb applicationanlegen. - Als Authorized redirect URI eintragen:
- Produktion:
https://stechuhr3.tsschulz.de/api/auth/google/callback - Lokal, falls benötigt:
http://localhost:3010/api/auth/google/callback
- Produktion:
Client IDundClient Secretnotieren.
2. Server-Environment setzen
Auf dem Server in der produktiven Environment-Datei folgende Werte setzen:
GOOGLE_CLIENT_ID=<client-id-aus-google-console>
GOOGLE_CLIENT_SECRET=<client-secret-aus-google-console>
GOOGLE_CALLBACK_URL=https://stechuhr3.tsschulz.de/api/auth/google/callback
API_PUBLIC_URL=https://stechuhr3.tsschulz.de/api
FRONTEND_URL=https://stechuhr3.tsschulz.de
SESSION_SECRET=<langer-zufallswert>
JWT_SECRET=<bestehender-oder-langer-zufallswert>
Wichtig: GOOGLE_CALLBACK_URL muss exakt mit der Redirect URI in der Google Console übereinstimmen.
3. Backend deployen und neu starten
- Code auf den Server bringen.
- Backend neu starten, z. B. über das vorhandene Deploy-Skript oder PM2.
- Log prüfen. Erwartet:
✅ Google OAuth konfiguriert
Wenn stattdessen Google OAuth nicht konfiguriert erscheint, fehlen GOOGLE_CLIENT_ID oder GOOGLE_CLIENT_SECRET im laufenden Prozess.
4. Web-Frontend deployen
- Frontend neu bauen.
- Neue
dist-Dateien deployen. - Browser-Cache bei Bedarf leeren.
5. Android-App neu bauen/installieren
- Debug/APK oder Release/AAB neu bauen.
- App neu installieren.
- Prüfen, dass Android den Deep Link
timeclock://oauth-callbacköffnet.
6. Testfälle
- Google-Account ohne vorhandene TimeClock-E-Mail:
Mit Google anmelden- Erwartung: neuer Account wird erstellt und eingeloggt.
- Google-Account bereits verknüpft:
Mit Google anmelden- Erwartung: direkter Login.
- Google-Account mit E-Mail eines bestehenden Passwort-Accounts:
Mit Google anmelden- Erwartung: Verknüpfungsabfrage.
- Bestehende E-Mail + Passwort eingeben.
- Erwartung: Account wird verknüpft und eingeloggt.
- Eingeloggt unter
Persönliche Daten:Mit Google-Konto verknüpfen- Erwartung: Google Flow startet, danach Rückkehr und Verknüpfung.
- Danach ausloggen und erneut
Mit Google anmelden.- Erwartung: direkter Login in denselben bestehenden Account.
7. Falls etwas fehlschlägt
- Google meldet
redirect_uri_mismatch: Redirect URI in Google Console undGOOGLE_CALLBACK_URLvergleichen. - Backend zeigt OAuth nicht konfiguriert: PM2/Deploy lädt die neuen Env-Werte nicht. Prozess mit aktualisierter Environment neu starten.
- Android kehrt nicht in die App zurück: prüfen, ob der Browser auf
timeclock://oauth-callback?...weiterleitet und die neu gebaute App installiert ist. - Verknüpfung schlägt fehl: prüfen, ob der alte Account wirklich ein Passwort hat. OAuth-only Accounts können sich nicht per Passwort bestätigen.