Я получаю то же сообщение «Ссылка для входа по электронной почте устарела», что и в этой теме: Email login link is too old
Извините, ссылка для входа по электронной почте устарела. Нажмите кнопку «Войти» и выберите «Я забыл пароль», чтобы получить новую ссылку.
Моя конфигурация достаточно отличается, поэтому я решил создать новую тему.
Мой хост — это VPS под управлением Ubuntu 20.04. Перед официальной установкой на основе Docker настроен HAProxy. HAProxy обрабатывает SSL-сертификаты, но в Discourse всё ещё включено принудительное использование HTTPS.
У меня настроено два сайта. На одном вход по электронной почте работает отлично. На другом он не работает и выдаёт указанную ошибку.
Я добавил переменную окружения TZ в оба контейнера. При запуске команды date внутри любого из контейнеров или на сервере время везде совпадает.
Недавно я мигрировал с одного сервера на другой. Я просто скопировал всю директорию проекта на новый сервер, а затем пересобрал окружение. Столкнулся с некоторыми проблемами, но не помню, какие именно. В конце концов, всё заработало, по крайней мере, так мне казалось…
Есть ли какие-то идеи?
Стоит ли мне поделиться файлами конфигурации контейнеров?
Попробовали ли вы это с другим пользователем и адресом электронной почты? Не исключено, что вы смотрите не на тот, более старый адрес? Я тоже сталкивался с этой проблемой в прошлом.
Хорошо, так что новый пользователь может войти через метод электронной почты.
При устранении неполадок с задачей rake admin:create я создал нового пользователя-администратора. Этот пользователь может войти с помощью пароля.
Мне удалось создать совершенно новую учетную запись, и эта запись могла войти через электронную почту после того, как я изначально вошел с помощью пароля.
Проблемы возникают с моим исходным пользователем-администратором. Только что я смог сбросить его пароль. Это позволило мне войти с помощью пароля. После выхода я попытался войти через электронную почту. Это вызвало ту же ошибку, что и раньше. Когда я снова попытался войти с помощью пароля, система сообщила: «Вы еще не можете войти. Ранее мы отправили вам письмо с активацией на адрес emailaddress. Пожалуйста, следуйте инструкциям в этом письме, чтобы активировать свою учетную запись».
Если я использую другого пользователя-администратора, чтобы снова отправить письмо для сброса пароля, я могу повторить процесс и в итоге оказаться в той же ситуации.
Странно. Словно этому пользователю была назначена ссылка для входа с неверной датой истечения срока действия, в то время как все остальные ссылки настроены правильно. Есть ли таблица, которую я мог бы проверить на наличие некорректных данных ссылок?
Есть ли способ включить отладку или что-то подобное, чтобы помочь выяснить, что происходит?
Хорошо, теперь я ещё больше запутался. На моём исходном аккаунте администратора я снова сбросил пароль, чтобы войти. Затем я добавил и подтвердил другой адрес электронной почты. После этого установил его как основной и удалил предыдущий. Затем я вышел из системы и попытался войти снова, используя электронную почту. На этот раз всё сработало.
Единственное, что приходит в голову: рабочим оказался тот адрес, который, как мне кажется, я указал ещё при создании сайта. Не знаю, как именно в процессе устранения неполадок он мог измениться на другой адрес. Всё ещё не понимаю, почему это вызвало такие ошибки…
В любом случае. Возможно, мои рассуждения помогут кому-то ещё в будущем…