Typo3 felogin Passwort vergessen funktioniert nicht – Checkliste – Mail wird nicht versendet

Checkliste möglicher Gründe, warum die „Passwort vergessen“-Funktion des felogin nicht funktioniert. Nach einigen Stunden Suche hatten wir als Fehler eingegrenzt, dass in der typo3/sysext/felogin/pi1/class.tx_felogin_pi1.php in Zeile 184 die Abfrage bei

if ($postedHash === $hashData['forgot_hash']) {

immer „false“ ergab, weil offensichtlich der hash-Wert des Formulars im Marker ###FORGOTHASH### nicht mit dem aktuellen Wert in $GLOBALS[‚TSFE‘]->fe_user->getKey(’ses‘, ‚forgot_hash‘); übereinstimmte.

class.tslib_feuserauth.php hatte offensichtlich einen neuen Hash generiert, bevor der alte korrekt ausgewertet wurde. Die Lösung des Problems: Das Login-Formular und das „Passwort vergessen“ Formular befanden sich auf ein und der selben Seite (bzw. wurde per AJAX nachgeladen). Da beide Formulare einen neuen, eindeutigen Hash-Wert berechnen, ersetzte das zweite Formular in den Session-Variablen den Hash-Wert des ersten Formulars. Folglich waren Session-Hash-Wert und per POST übermittelter Hash-Kontrollwert nie identisch.

1. Gibt es zwei felogin-Formulare auf der gleichen Seite?

Zum Beispiel ein Login-Formular an einer Stelle und zeitgleich das „Passwort vergessen“-Formular an einer anderen Stelle? Falls ja: Für eines entscheiden. Problem wie oben beschrieben…

2. Wird der Hash-Wert im Formular übergeben?

Diese Änderung betrifft vor allem Updates von älteren Typo3-Versionen: In dem Template für das „Passwort vergessen“-Formular muss zwingend der Hash-Wert mit übergeben werden, z.B. so:

 

Für Suchmaschinen:

„typo3 frontend login passwort vergessen“, feuserauth storeSessionData fails to save Data to DB in „ses“-mode, feuser session data not saved, felogin probleme setKey() getKey Typo3, felogin feuser fe_user fe_login session data nicht gespeichert, fe_user passwort reset schickt keine Mails, Mail wird nicht versendet bei Passwort vergessen.