Google Authentifizierung via OpenID#
Bitte erstelle vor jeder Änderung an einer Schnittstelle/Import ein vollständiges Backup. Falls das Ergebnis nicht zufriedenstellend ist, kann dieses dann wiederhergestellt werden
Diese Anleitung zeigt, wie du i-doit mit Google OpenID Connect absicherst. Benutzer melden sich dann über ihr Google-Konto an.
Voraussetzungen#
- Apache-Webserver mit aktiviertem HTTPS/SSL
- Debian 12 oder kompatible Distribution
- Zugang zur Google Cloud Console
- Google-Konto mit einem bestehenden Cloud-Projekt
Schritt 1: OAuth-Client in der Google Cloud Console anlegen#
- Öffne die Google Cloud Console und wähle dein Projekt aus.
- Navigiere im linken Menü zu APIs und Dienste → Anmeldedaten.
- Klicke oben auf + Anmeldedaten erstellen.

- Wähle im Dropdown OAuth-Client-ID

- Wähle als Anwendungstyp die Option Webanwendung.
- Vergib einen wiedererkennbaren Namen, z.B.
i-doit.

- Lasse das Feld Autorisierte JavaScript-Quellen leer.
-
Füge unter Autorisierte Weiterleitungs-URIs die folgende URL hinzu:
1https://<DEINE-SERVER-URL>/redirect_uriDer Pfad
/redirect_urimuss auf dem Server nicht als Datei existieren — er dient als Callback-Ziel für Google. 9. Klicke auf Erstellen.
Nach der Erstellung zeigt Google ein Dialogfeld mit Client-ID und Clientschlüssel. Kopiere beide Werte — du benötigst sie für die Apache-Konfiguration. 
Clientschlüssel nur einmal sichtbar
Der Clientschlüssel wird nur beim ersten Öffnen dieses Dialogs vollständig angezeigt. Speichere ihn sofort an einem sicheren Ort.
OAuth-Zustimmungsbildschirm
Für den Produktionsbetrieb muss zusätzlich der OAuth-Zustimmungsbildschirm konfiguriert werden (unter APIs und Dienste → OAuth-Zustimmungsbildschirm). Für einen ersten Funktionstest ist das nicht zwingend nötig.
Schritt 2: Apache-Modul installieren#
Installiere libapache2-mod-auth-openidc auf dem Server, auf dem Apache läuft:
1 | |
Das Modul wird automatisch aktiviert.
Schritt 3: Apache-Konfiguration anpassen#
Öffne die SSL-VirtualHost-Konfiguration (Standard: /etc/apache2/sites-available/default-ssl.conf) und ergänze sie mit folgenden Direktiven:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
Automatische Endpoint-Erkennung
Dank OIDCProviderMetadataURL erkennt das Modul alle notwendigen Google-Endpoints automatisch. Eine manuelle Angabe einzelner Endpoints ist nicht erforderlich.
Schritt 4: Apache neu starten#
Teste zunächst die Konfiguration auf Syntaxfehler:
1 | |
Wenn Syntax OK erscheint, starte Apache neu:
1 | |
Schritt 5: SSO im i-doit Admin Center aktivieren#
- Öffne das i-doit Admin Center unter
https://<SERVER-URL>/admin/. - Melde dich mit dem Admin-Center-Passwort an.
- Klicke in der oberen Navigation auf System settings.
- Scrolle zum Abschnitt Single Sign On.
- Setze Active auf Yes.
- Wähle unter Default tenant den gewünschten Mandanten aus.
- Lasse Use Domain Part auf No — i-doit verwendet dann die vollständige E-Mail-Adresse als Login-Namen.
- Klicke auf Save.
Schritt 6: Benutzer in i-doit vorbereiten#
Der Login-Name des i-doit-Benutzers muss exakt mit der E-Mail-Adresse des Google-Kontos übereinstimmen.
- Navigiere in i-doit zu Verwaltung → Rechteverwaltung → Personen.
- Öffne den gewünschten Benutzer.
- Setze den Login-Namen auf die vollständige Google-E-Mail-Adresse, z.B.
benutzer@example.com. - Speichere den Benutzer.
Login-Name muss E-Mail-Adresse sein
Wenn Use Domain Part = No gesetzt ist, wird die vollständige E-Mail-Adresse als Login-Name erwartet, z.B. benutzer@example.com.
Ergebnis#
Beim nächsten Aufruf von i-doit erscheint automatisch die Google-Anmeldemaske. Nach erfolgreicher Authentifizierung bei Google wird der Benutzer direkt in i-doit eingeloggt — ohne separate i-doit-Passwort-Eingabe.
