Seite 1 von 1

Angemeldeter Benutzer bei Flask mit Gunicorn / Anmeldung über Client Zertifikat

Verfasst: Dienstag 4. März 2025, 18:02
von shoening
Hallo,

ich habe mir eine kleine Flask Anwendung mit gunicorn als WSGI-Server aufgesetzt.
Dabei habe ich gunicorn so konfiguriert, dass die Kommunikation über https läuft und der (Browser-)Client sich mittels Client-Zertifikat anmelden muss.
Das funktioniert auch soweit.

Meine Frage nun: wie kann die Flask-Anwendung dann auf den Benutzer zugreifen, der sich bei mit seinem Client-Zertifikat angemeldet hat?

Viele Grüße
Stefan

Re: Angemeldeter Benutzer bei Flask mit Gunicorn / Anmeldung über Client Zertifikat

Verfasst: Dienstag 4. März 2025, 18:31
von Sirius3
An das Client-Zertifikat kommt man über socket.getpeercert() https://docs.python.org/3/library/ssl.h ... etpeercert.

Re: Angemeldeter Benutzer bei Flask mit Gunicorn / Anmeldung über Client Zertifikat

Verfasst: Mittwoch 5. März 2025, 13:08
von shoening
Danke für die Antwort, anhand derer ich dann gefunden habe, dass ich in der Klasse „gunicorn.workers.sync.SyncWorker“ die Methode „handle_request“ überschreiben muss, um aus deren Parameter „client“ mit „getpeercert()“ das Client-Zertifikat zu erhalten. Diesen „Worker“ habe ich dann konfiguriert.