SOGo Cal-/CardDAV Login -> HTTP 401?


27.08.2022, 18:42

Wichtig: Normalerweise wird bei falschen Logindaten ein HTTP 403 ausgegeben, kein 401.

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Webmail ist Webmail. DAV ist aber ein anderes Protokoll. Die Authentisierungsmechanismen sind anders als bei Webmail. Wenn Du Dich also mittels DAV beim Webmail anmeldest, wird das nicht verstanden.


jud123 
Fragesteller
 25.08.2022, 22:06

Nein, Nein. Ich melde mich schon bei der DAV Schnittstelle an (Ich versuche es). Habe es nur SOGo Webmail genannt, falls jemand nicht weiß was das ist.

0
franzhartwig  25.08.2022, 23:01
@jud123
falls jemand nicht weiß was das ist.

? Deshalb benennst Du etwas komplett falsch?

Hast Du mal in die Logs geschaut?

0
jud123 
Fragesteller
 26.08.2022, 17:03
@franzhartwig

Da kommt bei SOGo, Nginx und PHP-FPM immer nur ein 401

0
franzhartwig  26.08.2022, 20:45
@jud123

401 ist ein HTTP-Fehercode. Ich kann mir nicht vorstellen, dass HTTP-Fehlercodes im php-fpm-Log stehen.

0
franzhartwig  27.08.2022, 18:53
@jud123

Es fällt auf, dass der Aufruf von /sogo-auth.php per IPv6 im Log von php-fpm zum Status 200 (OK) führt, nur bei IPv4 bekommst Du 401.

Nginx verwendest Du als Reverse Proxy. Versuche mal den Aufruf direkt, ohne den Proxy.

Wichtig: Normalerweise wird bei falschen Logindaten ein HTTP 403 ausgegeben, kein 401.

401 ist Unauthorized, 403 ist Forbidden. Bei Authentisierungsfehlern erwarte ich 401, nicht 403.

0
jud123 
Fragesteller
 27.08.2022, 20:20
@franzhartwig

Nein, da stand einfach nur eine IPv6. Man sieht das die Authentifizierung erfolgreich geladen wurde und ein paar Sekunden später die Authentifizierung fehlschlägt.

0
franzhartwig  27.08.2022, 22:53
@jud123
Nein, da stand einfach nur eine IPv6.

Du meinst eine IPv6-Adresse? Ja, dann erfolgte doch der Zugriff per IPv6, sonst stünde da keine IPv6-Adresse.

Man sieht das die Authentifizierung erfolgreich geladen wurde

Es wurde keine Authentifizierung geladen, weder erfolgreich noch nicht erfolgreich. Eine Authentifizierung kann nicht geladen werden. Es wurde per IPv6 die Datei sogo-auth.php erfolgreich geladen. Per IPv4 wurde die Datei nicht geladen, sondern wegen fehlerhafter Authentisierungsdaten nicht geladen.

Wie lauten die ersten vier Zeichen der IPv6-Adresse?

Direkter Aufruf schlägt auch fehl

Dann liegt es zumindest nicht am Proxy.

0
jud123 
Fragesteller
 28.08.2022, 11:05
@franzhartwig

fd4d, man sieht aber, das bei der Absendung der Authentifierungsdaten meine Email mit angegeben ist. Bei der ersten Anfrage nicht, weil dort nur sie sogo-auth.php geladen wurde

0
franzhartwig  28.08.2022, 13:27
@jud123
fd4d

?

man sieht aber, das bei der Absendung der Authentifierungsdaten meine Email mit angegeben ist.

Stimmt. Wenn der Benutzername im Log auftaucht, handelt es sich um die Basic Authentication als Funktion von HTTP. Es ist aus meiner Sicht verwunderlich, dass hier überhaupt Basic Authentication verwendet wird. Ich habe den Ablauf gerade mal geprüft. Bei Basic Authentication wird vom Server 401 zurückgeliefert. Benutzt man den Browser, wird in diesem Moment das Dialogfenster für die Logindaten eingeblendet. Wenn man diese korrekt absendet, wird die Webseite geladen mit Status 200.

Die 401 ist bei Basic Authentication also normal.

Ich bin in PHP nicht sonderlich bewandert. Wenn ich mir aber https://github.com/mailcow/mailcow-dockerized/blob/master/data/web/sogo-auth.php anschaue, erwartet die Datei die Authentisierungsdaten in den Headerzeilen X-User:, X-Auth: Basic, und X-Auth-Type: Basic. Wenn ich hier die Basic Authentication mit einem Webserver teste, steht die Authentisierung in einem Header Authorization. Insofern habe ich da jetzt Fragezeichen über meinem Kopf schweben.

Am besten, Du wartest auf eine Antwort im SoGo-Forum auf Deine Frage, IceMann.

0