Я пытаюсь войти через http://mysite.com/users/admin-login.
Мое приложение Discourse отправляет мне письмо со ссылкой для входа, я нажимаю на неё и перенаправляюсь на страницу с кнопкой «Завершить вход». Я нажимаю кнопку, и появляется сообщение:
ссылка для входа по электронной почте устарела
Что здесь не так? Я уверен, что ссылка совсем не устарела.
Кстати, установлено значение “SiteSettings.force_https = false”.
Заранее спасибо.
Верно ли время на сервере? Я имею в виду сервер, на котором работает Discourse. Если время на сервере указано неверно, это может вызывать такое поведение.
Скорее всего, это ошибка, так как причин для этого немного, но это не связано с данной проблемой.
Я видел эту ошибку только в том случае, когда системные часы на сервере отставали или опережали время даже на несколько минут. Рекомендую ещё раз очень внимательно проверить время и дату.
В приведённом выше примере URL указан протокол HTTP, поэтому я надеюсь, что они на самом деле не используют HTTPS, даже если инкапсуляция происходит на другом устройстве или прокси.
Редактирование: В этой теме вы упоминали о запуске форка, всё ещё занимаетесь этим, @Lona_Lee?
Хочу предложить возможное решение для тех, кто будет искать информацию в будущем. У нескольких моих пользователей после недавней миграции с другого программного обеспечения форумов на Discourse возникла проблема «ссылка для входа устарела».
Проблема заключалась в заглавных буквах в их адресах электронной почты. Discourse очень-очень не любит заглавные буквы. Быстрый запрос SET email = LOWER(email) мгновенно решил проблему.