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

Django, Flask, Bottle, WSGI, CGI…
Antworten
shoening
User
Beiträge: 21
Registriert: Donnerstag 20. Oktober 2011, 19:28

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
Sirius3
User
Beiträge: 18216
Registriert: Sonntag 21. Oktober 2012, 17:20

An das Client-Zertifikat kommt man über socket.getpeercert() https://docs.python.org/3/library/ssl.h ... etpeercert.
shoening
User
Beiträge: 21
Registriert: Donnerstag 20. Oktober 2011, 19:28

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.
Antworten