david-loe / abrechnung

Reisekostenabrechnung inkl. automatischer Pauschalen Berechnung auch für internationale Reisen
GNU Affero General Public License v3.0
12 stars 2 forks source link

Kein Login möglich (weder mit LDAP noch via Mail) #66

Closed VanFlex closed 4 months ago

VanFlex commented 6 months ago

Hallo und grüße zum Donnerstag.

Ich bekomme leider (trotz Tage-langer Recherche, und natürlich auch durchforsten der geschlossenen Issues) keine funktionierende Anmeldung zustande.

Die Docker-Umgebung einrichten und das System zum Laufen zu bringen, dass die Browser-Anmeldung vom anderen Rechner aus funktioniert, ist kein Problem und in weniger als 20 Minuten erledigt.

Ich bin zwar gelernter System-Admin aber hier verzweifle ich grade ein wenig. (obwohl ich Sachen wie Ticket-System etc. bereits in der Umgebung ohne Probleme anbinden konnte).

Am liebsten hätte ich natürlich die LDAP Anmeldung für die bestehenden Benutzer. Egal wie ich die .env konfiguriere, klappt die Anbindung nicht. Screenshots der Browser-Konsole und der .env Konfiguration habe ich angehangen.

Domain-Controller ist ein normaler Windows-DC mit AD.

Screenshot 2024-05-23 080549 Screenshot 2024-05-23 080704

Aber auch die Variante Mail-Anmeldung klappt nicht. Wir haben einen Exchange, der Empfangs-Connector ist auf Port 25 konfiguriert, aber mit TLS. Wie kann ich nun die SMTP Konfiguration in der .env so anlegen, dass wir zwar TLS nutzen, aber eben auf Port 25? Dann sollte wenigstens das klappen denke ich. Aktuell geht auch die Variante eben leide nicht :(.

MS Azure LogIn haben wir nicht vorgesehen.

Wir sind ein kleiner Verein und die Reisekosten-Abrechnung wäre einfach nur Klasse, da der Prozess hier aktuell noch vollständig in Papierform gehandhabt wird. Uneinheitlich.

Vielen lieben Dank vor ab. Ich bin nun wirklich seit Tagen am austesten und verzweifeln.

david-loe commented 6 months ago

Hey, freut mich dass du die App ausprobierst! Klappt die Anmeldung denn wenn du die Test LDAP Einstellungen in der .env verwendest? professor:professor

VanFlex commented 6 months ago

Guten Morgen :) Danke für die schnelle Antwort. Mit der Test-Anmeldung geht es nach dem Aufsetzen, dann kann ich da zum Beispiel einen neuen Mail Nutzer anlegen.

Nach ca. 10 Minuten geht dann die "professor" Anmeldung nicht mehr aber eben auch die Mail oder LDAP Anmeldung nicht.

david-loe commented 6 months ago

Das hört sich danach an, dass das backend in einen Fehler gelaufen ist.. Kannst du einmal die Logs posten? docker compose logs

david-loe commented 6 months ago

Und zum Email-Versand: Hast du schonmal versucht den SMTP_PORT auf 25 und SMTP_SECURE auf TRUE zu setzen?

VanFlex commented 6 months ago

Aber na klar. Einmal die Logs:

Docker Logs.txt

Und zum Mail:

Das hatte ich auch schon. Habe ich jetzt gerade noch mal so konfiguriert, und via

docker-compose up -d gestartet /neu initialisiert.

Screenshot 2024-05-23 085151

So noch mal getestet, klappt leider per Mail nach wie vor nicht.

Screenshot 2024-05-23 085539

Am DC habe ich gerade gesehen, scheint SSL LDAP für 636 nicht eingerichtet zu sein. Das versuche ich einzurichten. Aber per Standard 389 sollte doch eigentlich wenigstens gehen.

Also LDAP schaue ich, dass ich das 636 SSL LDAP aktiviert bekomme, da habe ich die Tage noch nicht hingeschaut (hab die Umgebung hier im März übernommen und muss mich da auch erst mal langsam ran tasten :D)

Aber wenn Mail schon mal gehen würde, dass ich das schon mal zeigen kann, wäre natürlich n Anfang.

david-loe commented 6 months ago

Also die Logs sind erstmal nicht auffällig, scheint alles richtig zu laufen. Er gibt nur folgenden Fehler: No magiclogin user found for e-mail: ...

Du musst beim Anlegen vom Benutzer die Email auch bei Magic Login eingeben damit der Benutzer für diese Methode authorisiert wird:

image

Und wenn du so einen User anlegst, solltes du an die Adresse eine Einladungs Mail erhalten (sofern SMTP klappt 😅)

david-loe commented 6 months ago

Achso... Du must nach jedem Ändern der .env die Docker Container neubauen, damit die Änderungen überhaupt übernommen werden.. docker compose up --build -d Also einfach das --build tag anhängen. Der Container hatte deine LDAP Daten nämlich noch gar nicht geladen..

VanFlex commented 6 months ago

Hach das ist echt frustrierend :D.

Ah ok, das mit dem --build wusste ich noch nicht (ist auch das erste Projekt in dem ich Docker nutze, finde ich aber ganz geschmeidig muss ich sagen). Nun scheint er das auch genommen zu haben und ich habe eine entsprechende Meldung mit der ich was anfangen kann. Sieht mit der LDAP Anbindung tatsächlich so aus, dass SSL LDAP 636 auf dem DC noch nicht eingerichtet ist. Das probiere ich heute Nachmittag einzurichten und bin gespannt.

Benutzer fürs Magic Login hab ich noch mal geprüft. Mail-Adresse steht beim MagicLogin und bei Mail Adresse drin.

Aber den SMTP bekomme ich ans Exchange einfach nicht angebunden... Er schreibt zwar inzwischen "Email wurde versendet" aber laut Exchange Protokoll kommt da nichts an.

Ich gehe erst mal das LDAP an, schaue ob ich das hin bekomme und werde entsprechend Rückmelden.

SMTP, verstehe ich noch nicht so ganz das Problem. Port passt, Daten passen. Ich vermute mal dass er da für den Port 25 nicht TLS nutzt, was der Exchange aber voraussetzt, sicher bin ich mir aber auch da leider nicht.

Wäre ja echt ärgerlich wenn die Nutzung daran scheitert :D.

david-loe commented 6 months ago

Das wäre echt ärgerlich..

Falls du noch einbisschen mehr info brauchst hier ist die Documentation vom dem MailClient den ich verwende: https://www.nodemailer.com/smtp/#general-options

Und hier passiert das mapping von .env Variable zu nodemailer: https://github.com/david-loe/abrechnung/blob/main/backend/mail/client.ts

Hier das selbe vom LDAP: https://www.passportjs.org/packages/passport-ldapauth/#configure-strategy

Und hier binde ich es ein: https://github.com/david-loe/abrechnung/blob/main/backend/authStrategies/ldapauth.ts

VanFlex commented 6 months ago

Update: Das LogIn via Mail habe ich erst mal übergangsweise hinbekommen. Nach wie vor nicht mit dem Exchange, was eigentlich sein sollte, aber über ein Mail-Konto bei meinem Ionos ist das via SMTP gar kein Problem.

So kann ich zumindest Test-User anlegen und das ganze mal durch spielen und schon mal präsentieren. Exchange muss ich nächste Woche mal schauen warum der das ablehnt / wie ich das hin bekomme.

LDAP wie gesagt richte ich die Tage das LDAPS über 636 ein und berichte dann ob das funktioniert.

Danke für deine Hilfe bis hier hin, das hat informativ wirklich weiter geholfen :).

Ich hoffe ich kriege LDAP und SMTP über den Exchange noch hin :D