milux / ctldap

LDAP Wrapper for ChurchTools
GNU General Public License v3.0
12 stars 8 forks source link

Fix login to churchtools #8

Closed hubermat closed 6 years ago

hubermat commented 6 years ago

Hi Michael, wir haben den ctldap jetzt bei uns für die FeG Karlsruhe im Einsatz. Dabei ist mir aufgefallen, daß der ctldap den apiLogin erst ausführt, wenn der apiPost fehlschlägt. Allerdings klappt das nicht immer, da nicht unter allen Umständen ein "Session expired!" zurückkommt. Für den Fall, daß der neu eingetragenen API-User normal ausgeloggt ist, wird das apiLogin dann gar nicht aufgerufen. Stattdessen kommt nur ein wenig hilfreicher Authorisierungsfehler zurück (keine Berechtigung für "administer persons"). Die Lösung liegt darin, immer zuerst einen apiLogin zu machen, bevor der LDAP-Server gestartet wird. So können auch fehlerhafter API-Credentials direkt erkannt werden (falls der Login fehlschlägt). Der Pull-Request setzt diesen Ansatz um. Viele Grüße, Matthias

sscholl commented 6 years ago

Finde ich gut

milux commented 6 years ago

Das ist schonmal ein guter Anfang, löst bestehende Probleme aber leider noch nicht vollständig. Mir ist nämlich aufgefallen, dass bei uns nach der 1. Anmeldung ein ungültiges Cookie von CT übermittelt wird, was in der Folge nicht akzeptiert wird. Erst nach der 2. Anmeldung wird das "richtige" Cookie von CT gesendet. Ich bin noch nicht wirklich dahinter gekommen, was dieses merkwürdige Verhalten auslöst, weil mir bisher die Zeit gefehlt hat. Wenn ich wieder etwas mehr Luft habe, sehe ich mir das genauer an.