TASTE-OF-IT

Nextcloud Gültigkeitsdauer – Password vergessen und Aktivierungsmail

Nextcloud Logo

Nextcloud Logo

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.

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;

Merge pull request #28422 from nextcloud/enh/27465/notification-email · 78d62063ff – nextcloud-server – PhorGitea (packden.us)

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.

Quelle: move verification token logic out of lost password controller · 19cc757531 – nextcloud-server – PhorGitea (packden.us)

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:

  1.  öffnen der Datei # /core/Controller/LostController.php
  2. dort den folgenden Eintrag suchen:
    if ($splittedToken[0] < ($this->timeFactory->getTime() – 60*60*12)
  3. 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 ..

Die mobile Version verlassen