Le lien de connexion par e-mail est trop ancien

J’essaie de me connecter via http://mysite.com/users/admin-login.
Mon application Discourse m’envoie donc un e-mail contenant un lien de connexion. Je clique sur le lien et suis redirigé vers une page affichant un bouton « Terminer la connexion ». Je clique sur le bouton, et il est indiqué :

le lien de connexion par e-mail est trop ancien

Quel est le problème ? Je suis certain que le lien n’est pas du tout ancien.
Pour information, l’option « SiteSettings.force_https = false » est activée.
Merci d’avance.

Votre horloge serveur est-elle correcte ? Je parle du serveur sur lequel Discourse est exécuté. Si l’horloge du serveur est incorrecte, cela pourrait provoquer ce comportement.

Oui, c’est correct, UTC.
Y a-t-il autre chose que je dois vérifier ?

Pas le fuseau horaire, l’heure.

Bien sûr, l’heure est correcte.

C’est probablement une erreur, car il y a peu de raisons de le faire, mais cela n’a aucun lien avec ce problème.

La seule fois où j’ai rencontré cette erreur, c’était lorsque l’horloge système du serveur était décalée, même de quelques minutes. Je vous recommande de vérifier à nouveau l’heure et la date avec la plus grande attention.

L’URL d’exemple ci-dessus spécifie HTTP, donc j’espère qu’ils n’utilisent pas réellement HTTPS, même si l’encapsulation se fait sur un autre appareil ou proxy.

Édition : Dans ce sujet, vous avez parlé d’exécuter un fork. Est-ce que vous le faites toujours, @Lona_Lee ?

Je voulais ajouter une solution possible à cela, pour quiconque chercherait à l’avenir. Quelques-uns de mes utilisateurs rencontraient le problème du « lien de connexion trop ancien » après une récente migration d’un autre logiciel de forum vers Discourse.

Le problème était des lettres majuscules dans leurs adresses e-mail. Discourse n’aime vraiment pas ça. Une requête rapide SET email = LOWER(email) a résolu le problème instantanément.