OSIRIS-Solutions / osiris

Open, Smart and Intuitive Research Information System
https://osiris-app.de
Other
9 stars 1 forks source link

Anmeldung schlägt fehl nach Upgrade auf v1.2.1 #18

Closed moritzschepp closed 10 months ago

moritzschepp commented 11 months ago

Hallo!

Wir testen die Software gerade mit einigen Nutzern und sind sehr begeistert!

Nun haben wir versucht, von einem früheren Stand (git 1dd791e5bb64957fafb10343fcc7c6cd43dad3ee) auf die Release 1.2.1 zu aktualisieren. Dabei haben wir den neuen Code deployed und settings.json und CONFIG.php übernommen. Leider ist damit keine Anmeldung mehr möglich ("Login failed or user not found."), im PHP error log finden wir keine offensichtlichen Fehlermeldungen dazu.

Haben Sie eine Idee?

Gerne stellen wir weitere Informationen zur Verfügung.

Vielen Dank!

JKoblitz commented 11 months ago

Guten Morgen @moritzschepp,

dass Euch OSIRIS gefällt ist schon mal schön zu hören. Seltsam nur, dass Ihr solche Probleme habt. Kann es sein, dass beim Update aus irgendeinem Grund der Wert der Konstante USER_MANAGEMENT (wird in der CONFIG.php definiert) geändert hat.

Benutzt ihr eine LDAP-Schnittstelle oder das Auth-Addon? Was steht bei euch in der Konstante USER_MANAGEMENT? Falls sie nicht definiert ist, ist der Default-Wert Auth.

Viele Grüße Julia

moritzschepp commented 11 months ago

Hey @JKoblitz, danke für die schnelle Antwort!

Wir verwenden bis jetzt kein LDAP, in CONFIG.php haben wir die Zeile define('USER_MANAGEMENT', 'AUTH');. Wenn wir das anpassen zu define('USER_MANAGEMENT', 'Auth');, dann hängt die Applikation nach Klick auf "Einloggen", Logzeilen werden dadurch nicht erzeugt.

Interssant ist vielleicht auch, dass v1.2.1 auf unserem Server eine Redirect-Loop erzeugt. Wir haben das behoben, indem wir die RedirectBase in .htaccess auf / gesetzt haben.

JKoblitz commented 11 months ago

Ups. Ich sehe schon. Ich werde zum nächsten Release die Abfrage nach dem USER_MANAGEMENTmit einem strtoupper() versehen... Dann sollte die Schreibweise egal sein.

Doch euer Problem ist mir immer noch etwas schleierhaft. Nur, um das richtig zu verstehen: ihr habt einen Nutzeraccount registriert über das Interface. Das hat funktioniert. Aber nach dem Upgrade war der Nutzer nicht mehr verfügbar? Oh no, ich glaube ich weiß, wo das problem liegt.... Der Hinweis zur Migration auf die neue Version wird nur angezeigt, wenn man bereits eingeloggt ist.... 🤦 grafik

Okay, sorry. Ich fixe das in der nächsten Version. Könnt ihr mal auf eurer OSIRIS-Instanz zu /migrate navigieren? Danach sollte die Anmeldung wieder möglich sein.

Achja und das mit .htaccess... Ich vergesse jedes Mal, das zurückzuändern, bevor ich einen Release mache. Ich habe es auch eigentlich in der .gitignore, aber das scheint git nicht die Bohne zu interessieren...

moritzschepp commented 11 months ago

Vielen Dank für die Hilfe!

Doch euer Problem ist mir immer noch etwas schleierhaft. Nur, um das richtig zu verstehen: ihr habt einen Nutzeraccount registriert über das Interface. Das hat funktioniert. Aber nach dem Upgrade war der Nutzer nicht mehr verfügbar?

Genau, der Login hat in der alten Version mit allen Usern gut funktioniert.

[...] Könnt ihr mal auf eurer OSIRIS-Instanz zu /migrate navigieren

Klar, da wurde sinngemäß angezeigt: "migrated 3 users" (vielversprechend). Leider funktioniert damit die Anmeldung noch nicht. Ich hab einen neuen Nutzer registriert und per CONFIG.php zum admin gemacht. Mit diesem neuen User funktioniert die Anmeldung dann, ich kann im Webinterface keinen Unterschied zum alten User feststellen.

Achja und das mit .htaccess... Ich vergesse jedes Mal, das zurückzuändern, bevor ich einen Release mache. Ich habe es auch eigentlich in der .gitignore, aber das scheint git nicht die Bohne zu interessieren...

Leider bezieht sich .gitignore nur auf Files, die noch nicht getracked werden, darüber bin ich auch schon gestolpert. Es gibt wohl eine Lösung, aber ich hab's nie ausprobiert.

moritzschepp commented 11 months ago

Hey @JKoblitz, hast Du eine Idee, warum sich die mit 1dd791e5bb64957fafb10343fcc7c6cd43dad3ee angelegten Nutzer in der v1.2.1 nicht mehr anmelden können?

Lass mich gerne wissen, wenn ich mehr Informationen zur Verfügung stellen kann oder wenn ich etwas testen kann.

JKoblitz commented 11 months ago

Nabend @moritzschepp, sorry, ich hatte keine Benachrichtigung zu deiner letzten Antwort bekommen.

Bei dem Wechsel auf die v1.2.1 gab es ein paar Probleme mit der Datenbank. Ich hatte die Nutzer-Collection in zwei Teile gesplittet, was sich hinterher als nicht allzu clever herausgestellt hat (deshalb habe ich das bei Version 1.2.3 auch wieder rückgängig gemacht). Ich befürchte, dass das Passwort der Nutzer beim Aufteilungsschritt abhanden gekommen sein könnte...

In der nächsten Version (1.2.3) habe ich "Passwort vergessen" hinzugefügt. Dadurch könnte man das Password zurücksetzen. Migrieren wäre einen Versuch wert (.htaccess nicht vergessen. Das Problem habe ich für die nächste Version gelöst)

Alternativ könntest du folgendes versuchen:

Tut mir wirklich leid, dass das passiert ist. Wir nutzen im Haus immer nur die LDAP-Schnittstelle, da wird das Password nicht in der DB gespeichert. Sonst wäre mir das sicher schon früher aufgefallen...

moritzschepp commented 11 months ago

sorry, ich hatte keine Benachrichtigung zu deiner letzten Antwort bekommen.

Gar kein Problem, ich hab's mir fast gedacht, deshalb hab ich mir noch einen Ping erlaubt.

In der nächsten Version (1.2.3) habe ich "Passwort vergessen" hinzugefügt. Dadurch könnte man das Password zurücksetzen. Migrieren wäre einen Versuch wert (.htaccess nicht vergessen. Das Problem habe ich für die nächste Version gelöst)

Hervorragend, das ist für uns völlig ausreichend. Wir warten einfach auf die 1.2.3 und verwenden bis dahin die alte Version (dort hatte es ein Problem gegeben, das ich durch einen Hotfix behoben habe. Ich wollte eigentlich einen Issue erstellen, hab dann aber gesehen, dass Du den relevanten Code in 1.2.1 komplett ersetzt hattest und hab deshalb stattdessen das Update eingespielt).

Tut mir wirklich leid, dass das passiert ist. Wir nutzen im Haus immer nur die LDAP-Schnittstelle, da wird das Password nicht in der DB gespeichert. Sonst wäre mir das sicher schon früher aufgefallen...

Ja klar, gar kein Problem, wo entwickelt wird, entstehen auch Issues und wir sind dankbar, dass Du die Software unter einer open source Lizenz zur Verfügung stellst!

@JKoblitz

JKoblitz commented 11 months ago

Ah sorry, habe mich vertan. Das "Password vergessen" Feature müsste im aktuellen Master-Branch bereits verfügbar sein. Also Version 1.2.2. 😅

moritzschepp commented 10 months ago

Hey @JKoblitz, wir haben also die 1.2.2 installiert und die Nutzer können sich nach "Passwort vergessen" jetzt wieder anmelden.

Vielen Dank für die Hilfe!