Il link di accesso via email è scaduto

Sto cercando di accedere tramite http://mysite.com/users/admin-login.
La mia applicazione Discourse mi invia quindi un’email contenente un link di accesso; clicco sul link e vengo reindirizzato alla pagina con il pulsante “completa accesso”. Clicco sul pulsante e appare il messaggio:

il link di accesso via email è troppo vecchio

Cosa non va? Sono certo che il link non sia affatto vecchio.
Per tua informazione, è impostato “SiteSettings.force_https = false”.
Grazie in anticipo.

L’orologio del server è corretto? Mi riferisco al server su cui è in esecuzione Discourse. Se l’orologio del server non è impostato correttamente, potrebbe causare questo comportamento.

Sì, è corretto, UTC.
C’è altro che devo controllare?

Non il fuso orario, l’ora.

Certo, l’ora è corretta.

È probabile che si tratti di un errore, poiché ci sono pochi motivi per farlo, ma non è correlato a questo problema.

L’unica volta in cui ho visto questo errore è quando l’orologio di sistema sul server è sbagliato anche solo di pochi minuti. Ti consiglio di controllare nuovamente con molta attenzione l’ora e la data.

L’URL di esempio sopra specificato indica HTTP, quindi spero che non stiano effettivamente utilizzando HTTPS, anche se l’incapsulamento avviene su un altro dispositivo o proxy.

Modifica: In questo argomento hai parlato di eseguire un fork, lo stai ancora facendo @Lona_Lee?

Vorrei aggiungere una possibile soluzione a questo, per chiunque cerchi in futuro. Un paio dei miei utenti riscontravano il problema del “link di accesso troppo vecchio” dopo una recente migrazione da un diverso software di forum a Discourse.

Il problema erano le lettere maiuscole nei loro indirizzi email. A Discourse non piacciono affatto. Una rapida query SET email = LOWER(email) ha risolto il problema all’istante.