Nachfolgend für alle ein paar Infos wie man die Zeit bis die Willkommensmail oder auch die Mail für das Passwort vergessen abläuft. Im Vergleich zur Nextcloud 13, ist der Token nicht mehr nur 12h sondern 24h gültig, aber man möge mich hier korrigieren, falls ich falsch liege.
- Passwort vergessen / Lost Password
- Aktivierungsmail für den Zugang mit Passwort setzen Link / Willkommensmail
Nextcloud 23, 24, 25, 26
Eine weitere Änderung ist wohl ab Nextcloud 23 eingeflossen. Der Code in in der Datei „lib/private/Security/VerificationToken/VerificationToken.php“ wurde nun durch eine Konstante geändert:
protected const TOKEN_LIFETIME = 60 * 60 * 24 * 7;
Nextcloud 22
Die alte Möglichkeit, die Zeit bis der Token für Passwort vergessen und der Willkommensmail, wurde von der Datei „core/Controller/LostController.php“
if ($splittedToken[0] < ($this->timeFactory->getTime() - 60 * 60 * 24 * 7) ||
in die Datei „lib/private/Security/VerificationToken/VerificationToken.php“
if ($splitToken[0] < ($this->timeFactory->getTime() - 60 * 60 * 24 * 7) ||
verschoben.
Nextcloud 13
Es ist für 12h gültig. D.h. nach Ablauf von 12 Stunden, kann der Link nicht mehr benutzt werden und das Passwort nicht geändert werden. Als Fehlermeldung ist dann folgendes zu lesen:
Das Passwort konnte aufgrund eines ungültigen Tokens nicht zurückgesetzt werden.
Leider kann man die Aktivierungs bzw. Passwort vergessen Mail so nicht nochmal senden (ab ca Nextcloud 20 ist dies in den Optionen des Users nun möglich). Man müsste somit als Administrator ein Passwort vergeben und mitteilen, was dann vom jeweiligen geändert werden sollte. Eine andere Möglichkeit ist es die Zeit von 12 Stunden zu erhöhen, was wie folgt passiert:
- öffnen der Datei # /core/Controller/LostController.php
- dort den folgenden Eintrag suchen:
if ($splittedToken[0] < ($this->timeFactory->getTime() – 60*60*12) - und nun die 12 am Ende der Formel in z.B. 24, was für 24 Stunden steht, ändern:
if ($splittedToken[0] < ($this->timeFactory->getTime() – 60*60*24)
Thats it – Have Fun ..
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.
Hallo,
Wie sieht das Ganze bei Nextcloud Version 24, 25 und 26 aus?
Besten Dank und Schöne Grüsse
Darryl
Hallo Darryl,
ich habe es eben mal auf Nextcloud 25 und Nextcloud 26 überprüft und dort gibt es den Eintrag VerificationToken.php noch. Kannst also darüber ändern.
In meiner Nextcloud Version 22.2.3 ist die Gültigkeitsdauer nicht mehr in der LostController.php
Ich habe jetzt die Token-Lifetime unter lib/private/Security/VerificationToken/VerificationToken.php gefunden.
Hi DAH,
und danke für die Info. Ich habe mich nochmal an das Thema gesetzt und den Artikel überarbeitet. Es gibt sogar noch eine Änderung ab NC23!
Hallo Jarvis,
nun steht in meiner aktuellen Nextcloud Version in dieser Datei folgende Zeile:
if ($splittedToken[0] timeFactory->getTime() – 60*60*24*7)
Was bedeutet denn die „7“ am Ende? Ich nehme an 7 Tage, richtig?
Wie lange ist denn dann der Link gültig? Eine Woche? Kann ich aus der 7 dann eine 14 machen um den Link zwei Wochen lang gültig zu lassen?
Danke
Markus
Hallo Markus,
ich kann es leider aktuell nicht 100%ig sagen, aber ich würde sagen, dass ist eine Multiplikation der 24 Mal 7, also gleich den Tagen zu setzen. Dementsprechend kannst du für 14 Tage dann die 14 eintragen.
Hi,
genau was ich gerade gesucht habe 😉
Ist ja easy, kurze Frage:
‚/core/…‘ wird wahrscheinlich bei Updates überbügelt, oder? Hab mich noch nicht so intensiv mit der own/nextcloud beschäftigt.
Die Änderung müsste also nach jedem Update wieder neu gemacht werden, wenn ich will, dass der token dauerhaft länger als 12h gültig ist. Gibt es eine Möglichkeit das persistent hinzubekommen?
Lg vom Tom
Hi Tom,
schön das ich helfen konnte. Ja, je nach Update muss der Wert danach wieder geändert werden.