Das Projekt findet sich hier auf Github: https://github.com/ateachment/SimpleAuthService/tree/googleLogin

Mit Hilfe dieser Projektversion, kann man sich mit einem Google-Konto bei der Webanwendung anmelden.

Anmeldung mit Google-Konto
Anmeldung mit Google-Konto

Im Exkurs: OAuth2 und OpenID Connect findet man genauere Informationen, zum verwendeten aktuellen und standardisierten Verfahren und zum Quellcode der Beispielanwendung.

Webanwendung als Client bei Google registrieren

Um den Google-Anmelde-Button nutzen zu können, muss über die Google developers credentials page  (Google-Konto erforderlich) die Anwendung als Client bei Google als Authentifizierungs-Provider erfolgen.

OAuth-Client-ID erstellen

Da eine OAuth-Client-ID einem Projekt zugeordnet sein muss, sollte ein neues Projekt erstellt werden:

Projekt erstellen
Projekt erstellen -1-

Projekt erstellen -2-
Projekt erstellen -2-

Das neue Projekt muss danach ausgewählt werden:

Projekt auswählen
Projekt auswählen -2-

Nun kann der mit der Erstellung der OAuth-ClientID begonnen werden:

Mit der Erstellung der OAuth-ClientID beginnen
Mit der Erstellung der OAuth-Client-ID beginnen

Zuerst muss jedoch der "Zustimmungsbildschirm" konfiguriert werden:

Zustimmungsbildschirm konfigurieren

Zustimmungsbildschirm konfigurieren

Dazu muss die Google Auth Platform konfiguriert werden:

Google Auth Platform konfigurieren
Google Auth Platform konfigurieren

Dann wird die Projektkonfiguration vorgenommen:

  • Anwendungsname: z.B. simpleAuthService.py
  • Nutzersupport: Ihre E-Mail-Adresse bei googlemail
  • Zielgruppe: Extern (für in Liste der Testnutzer aufgenommene Benutzer mit Google-Konto)
  • Kontaktdaten: Ihre E-Mail-Adresse um über Änderungen am Projekt von Google informiert werden zu können.
  • Richtlinie zu Nutzerdaten für Google API-Dienste akzeptieren.

Projektkonfiguration vornehmen

Projektkonfiguration vornehmen

Nun wird der OAuth-Client erstellt:

OAuth-Client erstellen
OAuth-Client erstellen

Im letzten Schritt wird die OAuth-Client-ID erstellt:

  • Anwendungstyp: Webanwendung
  • Autorisierte JavaScript-Quellen: https.//localhost:5000
  • Autorisierte Weiterleitungs-URIs: https://localhost:5000/googleLogin/callback

OAuth-Client-ID erstellen

OAuth-Client-ID erstellen

Kopieren von Client-ID und Clientschlüssel:

Der Clientschlüssel wird nur einmalig hier angezeigt!

Kopieren von Client-ID und Clientschlüssel
Kopieren von Client-ID und Clientschlüssel

Beides wird in settings.py eingetragen.

Datenzugriff konfigurieren

Google überträgt als Authentifizierungsprovider Daten an die anfordernde Anwendung. Dies ist in der oben vorgenommenen Grundkonfiguration nur die Google-E-Mail-Adresse. Es können sehr weitreichend weitere Daten bereitgestellt werden. Sie können hier konfiguriert werden:

Datenzugriff konfigurieren (optional)
Datenzugriff konfigurieren (optional)

HTTPS mit Flask auf localhost

Google sperrt den Authentification Service sofort, wenn die Daten nicht sicher übertragen werden. Aus diesem Grund muss Flask die Seiten mit HTTPS ausliefern. Flask kommt mit dem Web Server Gateway Interface WSGI Werkzeug. Es liefert mit Hilfe der Bibliothek pyopenssl ein eigenes, eingebautes Zertifikat aus, das mit Flask installiert wird. Die Bibiliothek muss mit

pip install pyopenssl

installiert werden.

Am Ende des Flask-Programms simpleAuthService.py wird Flask, hierfür (lat. "ad hoc") unter Verwendung von  SSL/TLS-Verbindungen gestartet. (Außerdem stellen wir bereits auf localhost als sichere Testadresse anstelle der IP-Adresse 127.0.0.1 um, da das später für die Anmeldung mit Passkey benötigt wird.)

if __name__ == '__main__':
    app.run("localhost",ssl_context="adhoc") # run using https to ensure an encrypted connection with Google (pip install pyOpenSSL)
                                             # for later added Passkey support localhost is used instead of 127.0.0.1

Da diesem eingebauten Zertifikal von den modernen Browsern nicht vertraut wird. Wird man beim Öffnen des Links aufgefordert, das entsprechende Risiko einzugehen. Wobei hier natürlich kein Risiko besteht, da man selbst ja den Webserver betreibt, die Authentizität der lokalen Seite selbst gewährleistet:

Unsichere lokale Webseite mit dem Firefox-Browser öffnen
Unsichere lokale Webseite mit dem Firefox-Browser öffnen (Die Edge-Konfiguration per GPO verbietet das an den Schulen in Ffm) 

Die Anmeldung ist nun mit dem Google Authentifizierungdienst möglich. Nun sorgt Google mit seiner Zwei-Faktor-Authentifizierung bzw. mit Passkey-Unterstützung für zusätzliche Sicherheit. In der Beispielanwendung wird beispielhaft trotzdem lediglich die Rolle Viewer freigegeben.

Anmeldung über Google
Anmeldung über Google

Dabei informiert Google darüber, welche Informationen an die Anwendung übertragen werden. (In der Standardkonfiguration wird lediglich die Google-E-Mail-Adresse übertragen.)

__________________________________________________________________________
Quelle:

Google developers credentials page    (13.03.2026)

Last modified: Friday, 13 March 2026, 7:36 PM