Userobjekt kann ggf. nicht aktualisiert werden, (login_tries)
Beim Versuch die login_tries zu aktualisieren, wird imho der Password Hash verglichen. Dies führt zumeist zu keinem Problem, da der Password Algorithmus die Standard Rules meist erfüllt (Gross/Klein, Anzahl Zeichen, Sonderzeichen) Jedoch ist es nicht garantiert und abh. von den Regeln könnte es hier ein Problem geben.
Mir ist es aufgefallen, da ich noch einen alten md5 Hash nutze, den ich nach erfolgreichen Login mit dem Kennwort auf Basis des neuen Algorithmus aktualisiere. Nur solange der User sich nicht mindestens einmal erfolgreich angemeldet hat, wird immer der md5 mit den Password Rules verglichen und dies schlägt fehl und das User Save schlägt fehl https://github.com/yakamara/redaxo_ycom/blob/7849683053902cb1e2bc47eaffc34762fa6b5155/plugins/auth/lib/ycom_auth.php#L185
Man müsste vermutlich den Password Rule Vergleich an dieser Stelle irgendwie deaktivieren, da es kein Sinn mach einen Hash mit Password Klartext Regeln zu vergleichen
@chip75 du kannst die MD5-Passwörter ja alle aktualisieren - und das sollte man ja auch dringlichst, oder?
Prinzipiell stimmt das natürlich. Nur habe ich die Klartext Kennwörter natürlich nicht. Somit kann ich diese nicht konvertieren, bzw. erst dann sobald der User sich wieder anmeldet. Dann wird es ja auch durchgeführt. Ist bisher auch ein SHA1 sehe ich gerade. D.h. md5 ist es immerhin nicht ;). Darum geht es in diesem Fall auch nur nebenläufig. Es ist einfach nicht korrekt einen Hash gegen Passwort Regel zu prüfen. Das macht nicht viel Sinn und kann zu Problemen führen.
Kapiert, geht dir um was anderes. Dennoch: es wird der Hash eines Hashs aus Kompatibilitätsgründen verwendet, du kannst sie konvertieren:
rex_login::passwordHash($user->getValue('password'), $isPreHashed)
@chip75 ist das Issue für dich damit gelöst?
login_tries ++ ist nun auf rex_sql umgebaut, damit es hier keine KOnflikte gibt. Auch Dinge wie last_update_time etc würden sonst beeinflusst werden. zusätzlich ist nun im Log auch ein Eintrag bei einem Fehlversuch.