Заблокирован на форуме после восстановления

При восстановлении резервной копии возникли некоторые проблемы из-за загрузки .tar-архива с macOS, но в итоге всё заработало. Сайт доступен по адресу forum.imaginerio.org со всеми старыми сообщениями, однако я не могу войти ни под учётной записью администратора, которую настроил при развёртывании, ни под своими старыми учётными данными форума. В браузере я сейчас получаю следующее сообщение:

Ой
Программное обеспечение, управляющее этим форумом, столкнулось с непредвиденной проблемой. Приносим извинения за неудобства.

Подробная информация об ошибке была зафиксирована в логах, и было сгенерировано автоматическое уведомление. Мы разберёмся с этим.

Дальнейших действий с вашей стороны не требуется. Однако, если проблема сохранится, вы можете предоставить дополнительные сведения, включая шаги для воспроизведения ошибки, создав тему в категории обратной связи на сайте.

Однако в режиме инкогнито сайт загружается. Вход через Google выдаёт сообщение «Что-то пошло не так, возможно, этот адрес электронной почты уже используется», а вход через GitHub приводит к ошибке, описанной выше. Я пробовал использовать ссылку «Забыли пароль», но письмо не приходит, тогда как тестовое письмо, отправленное утилитой discourse-doctor, приходит без проблем.

Есть ли какие-либо логи, которые я могу проверить, или другие операции, которые можно выполнить в работающем контейнере?

Ранее это был хостинговый экземпляр, с которого я скачал резервную копию и теперь размещаю его самостоятельно. Не уверен, может ли это быть связано с проблемой.

После небольшого размышления я пришёл к выводу, что это связано с тем, что я никогда не настраивал вход через Google/Github на своём самодостаточном экземпляре. Кто-нибудь может подтвердить? Если да, можно ли это сделать через консоль?

В таком случае вы получили бы другую ошибку, а не эту.

У меня это работает:

то же самое работает и для Github.

Рекомендую воспользоваться входом через административный бэкдор, а затем проверить /logs для получения более подробной информации об ошибке.

Спасибо, Майкл. Я могу добраться до той же точки, что и вы, но если вы попытаетесь создать учётную запись, система сообщит, что что-то пошло не так, и, возможно, этот адрес электронной почты уже зарегистрирован (что не соответствует действительности). Я попробовал войти через обходной путь, и хотя система пишет «письмо отправлено», оно не приходит в мой почтовый ящик (при этом тестовое письмо от discourse-doctor приходит). Помню, что по какой-то причине я отключил рассылку писем для не-участников команды, но адрес, который я использую, точно принадлежит команде.

Я пока не отменял подписку. Если эту проблему можно решить с помощью новой или другой учётной записи администратора и настроек, считаете ли вы, что служба поддержки сможет мне помочь?

Мы можем помочь вам с настройкой электронной почты на хостинге, но не на самохостинге.

Вы можете попробовать использовать команду rake admin:create из контейнера, чтобы создать новый аккаунт администратора и войти в систему с его помощью.

Этот форум был восстановлен из размещённого сайта, подписка на который всё ещё активна. Размещённая версия не доступна публично, так как я использую тот же домен, но, полагаю, она всё ещё работает? Я предлагаю это, исходя из ощущения, что я заблокирован из-за ошибочной конфигурации, которую можно откатить, а затем экспортировать и восстановить новую резервную копию.

Кажется, это почти сработало. Мне удалось создать учётную запись администратора, но при попытке входа появляется сообщение «неизвестная ошибка» (и код 500 в консоли). Я попытался запросить ссылку для входа, письмо пришло успешно, но затем снова:

Вы сможете просмотреть логи Rails в контейнере (/shared/logs/rails) для получения подробной информации об ошибке.

Нашел кучу таких записей в production.log:

Parameters: {"slug"=>"en-narratives-about", "topic_id"=>"96"}
Completed 500 Internal Server Error in 23ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started GET "/t/en-narratives-about/96.json" for 34.127.96.150 at 2025-01-24 19:47:25 +0000
Processing by TopicsController#show as JSON

Этот слаг также встречается в nginx/access.log:

[24/Jan/2025:20:10:19 +0000] "forum.imaginerio.org" 179.210.195.226 "POST /message-bus/a6ddfc6d2e3c4937b5eaa52ea8fdce33/poll?dlp=t HTTP/2.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" "-" 200 424 "https://forum.imaginerio.org/session/email-login/36ac7e1c52851f1b5c76894b04fd3c4d" 0.009 0.009 "-" "-" "-" "-" "-" "-" "-"
[24/Jan/2025:20:10:20 +0000] "forum.imaginerio.org" 34.127.96.150 "GET /t/en-narratives-about/96.json HTTP/1.1" "axios/0.21.1" "-" 500 295 "-" 0.041 0.041 "-" "-" "-" "-" "-" "-" "-"
[24/Jan/2025:20:10:23 +0000] "forum.imaginerio.org" 179.210.195.226 "POST /message-bus/d2157f777d0847eb882e0f68ab50a5f2/poll?dlp=t HTTP/2.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" "-" 200 424 "https://forum.imaginerio.org/" 0.005 0.005 "-" "-" "-" "-" "-" "-" "-"
[24/Jan/2025:20:10:25 +0000] "forum.imaginerio.org" 34.127.96.150 "GET /t/en-narratives-about/96.json HTTP/1.1" "axios/0.21.1" "-" 500 295 "-" 0.043 0.043 "-" "-" "-" "-" "-" "-" "-"

Ничего особо примечательного, кроме, возможно, подтверждения выполнения admin:create в /log/var-log:

2025-01-24T19:20:57.703680+00:00 ip-172-26-4-15-app sudo:     root : TTY=pts/1 ; PWD=/var/www/discourse ; USER=discourse ; COMMAND=/usr/local/bin/bundle exec bin/rake admin:create
2025-01-24T19:20:57.704316+00:00 ip-172-26-4-15-app sudo: pam_limits(sudo:session): Could not set limit for 'core' to soft=-1, hard=-1: Operation not permitted; uid=0,euid=0
2025-01-24T19:20:57.704421+00:00 ip-172-26-4-15-app sudo: pam_unix(sudo:session): session opened for user discourse(uid=1000) by (uid=0)
2025-01-24T19:21:59.096268+00:00 ip-172-26-4-15-app sudo: pam_unix(sudo:session): session closed for user discourse
2025-01-24T19:25:01.326841+00:00 ip-172-26-4-15-app CRON[116983]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
2025-01-24T19:25:01.340674+00:00 ip-172-26-4-15-app CRON[116983]: pam_unix(cron:session): session closed for user root

При переходе по слагу я вижу ошибку «не найдено»:

{
  "errors": [
    "Запрошенный URL или ресурс не может быть найден."
  ],
  "error_type": "not_found",
  "extras": {
    "title": "Страница не найдена",
    "html": "\n\n\n\n\u003Cdiv class=\"page-not-found\"\u003E\n  \u003Ch1 class=\"title\"\u003EОй! Эта страница не существует или закрыта.\u003C/h1\u003E\n\n    \u003Ca href=\"/login\" class='btn btn-primary'\u003E\u003Csvg class=\"fa d-icon svg-icon svg-node\" aria-hidden=\"true\"\u003E\u003Csvg id=\"user\" viewBox=\"0 0 448 512\"\u003E\n  \u003Cpath d=\"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z\"/\u003E\n\u003C/svg\u003E\u003C/svg\u003E\nВойти\u003C/a\u003E\n\n\u003C/div\u003E\n\n\n\n\u003Cdiv class=\"row page-not-found-topics\"\u003E\n    \u003Cdiv class=\"recent-topics\"\u003E\n      \u003Ch2 class=\"recent-topics-title\"\u003EНедавние\u003C/h2\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/topografia-do-rio-antigo-heightmap/152\"\u003ETopografia do Rio antigo (Heightmap)\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/imaginerio/9'\u003E\u003Cspan data-category-id='9' style='--category-badge-color: #25AAE2; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Aqui você pode conversar sobre o imagineRio.'\u003E\u003Cspan class='badge-category__name'\u003EimagineRio\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/titulo-e-localizacao-nao-correspondem/149\"\u003ETítulo e Localização não correspondem\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/imaginerio/9'\u003E\u003Cspan data-category-id='9' style='--category-badge-color: #25AAE2; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Aqui você pode conversar sobre o imagineRio.'\u003E\u003Cspan class='badge-category__name'\u003EimagineRio\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/imagens-que-nao-correspondem-a-localizacao-no-mapa/148\"\u003EImagens que não correspondem a localização no mapa\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/features/12'\u003E\u003Cspan data-category-id='12' style='--category-badge-color: #0088CC; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Você gostaria de mais opções no nosso mapa? Crie um novo tópico e preencha os dados solicitados para sugerir uma melhoria.'\u003E\u003Cspan class='badge-category__name'\u003EПредложить улучшение\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/problema-no-login/143\"\u003EProblema no Login\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/bugs/10'\u003E\u003Cspan data-category-id='10' style='--category-badge-color: #0E76BD; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Você encontrou algum problema no nosso mapa? Crie um novo tópico e preencha os dados solicitados para relatar um problema.'\u003E\u003Cspan class='badge-category__name'\u003EСообщить о проблеме\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/add-the-complete-collection-of-jean-baptiste-debret/134\"\u003EAdd the complete collection of Jean-Baptiste Debret\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/features/12'\u003E\u003Cspan data-category-id='12' style='--category-badge-color: #0088CC; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Você gostaria de mais opções no nosso mapa? Crie um novo tópico e preencha os dados solicitados para sugerir uma melhoria.'\u003E\u003Cspan class='badge-category__name'\u003EПредложить улучшение\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/publicacao-de-conteudo-do-youtube/131\"\u003EPublicação de conteúdo do Youtube\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/features/12'\u003E\u003Cspan data-category-id='12' style='--category-badge-color: #0088CC; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Você gostaria de mais opções no nosso mapa? Crie um novo tópico e preencha os dados solicitados para sugerir uma melhoria.'\u003E\u003Cspan class='badge-category__name'\u003EПредложить улучшение\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/bug-na-marcacao-nos-mapas/130\"\u003EBug na marcação nos mapas\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/bugs/10'\u003E\u003Cspan data-category-id='10' style='--category-badge-color: #0E76BD; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Você encontrou algum problema no nosso mapa? Crie um novo tópico e preencha os dados solicitados para relatar um problema.'\u003E\u003Cspan class='badge-category__name'\u003EСообщить о проблеме\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/copiar-colar-a-posicao-do-mapa/129\"\u003ECopiar/colar a posição do mapa\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/features/12'\u003E\u003Cspan data-category-id='12' style='--category-badge-color: #0088CC; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Você gostaria de mais opções no nosso mapa? Crie um novo tópico e preencha os dados solicitados para sugerir uma melhoria.'\u003E\u003Cspan class='badge-category__name'\u003EПредложить улучшение\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/technical-issue-with-image-server/128\"\u003ETechnical issue with image server\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/bugs/10'\u003E\u003Cspan data-category-id='10' style='--category-badge-color: #0E76BD; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Você encontrou algum problema no nosso mapa? Crie um novo tópico e preencha os dados solicitados para relatar um problema.'\u003E\u003Cspan class='badge-category__name'\u003EСообщить о проблеме\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n        \u003Cdiv class='not-found-topic'\u003E\n          \u003Ca href=\"/t/narrativas-problemas-de-acesso-a-plataforma/125\"\u003ENarrativas: Problemas de acesso à plataforma\u003C/a\u003E\u003Ca class='badge-category__wrapper ' href='/c/bugs/10'\u003E\u003Cspan data-category-id='10' style='--category-badge-color: #0E76BD; --category-badge-text-color: #FFFFFF;' data-drop-close='true' class='badge-category ' title='Você encontrou algum problema no nosso mapa? Crie um novo tópico e preencha os dados solicitados para relatar um problema.'\u003E\u003Cspan class='badge-category__name'\u003EСообщить о проблеме\u003C/span\u003E\u003C/span\u003E\u003C/a\u003E\n        \u003C/div\u003E\n      \u003Ca href=\"/latest\" class=\"btn btn-default\"\u003EЕщё…\u003C/a\u003E\n    \u003C/div\u003E\n\u003C/div\u003E\n\n\n  \u003Cdiv class=\"row\"\u003E\n    \u003Cdiv class=\"page-not-found-search\"\u003E\n      \u003Cform action='/search' id='discourse-search'\u003E\n        \u003Clabel for=\"search-input\"\u003EПоиск по сайту\u003C/label\u003E\n        \u003Cinput type=\"text\" id=\"search-input\" name=\"q\" value=\"en narratives about\"\u003E\n        \u003Cbutton class=\"btn btn-primary\"\u003EПоиск\u003C/button\u003E\n      \u003C/form\u003E\n    \u003C/div\u003E\n  \u003C/div\u003E\n\n  \u003Cscript defer src=\"/assets/onpopstate-handler-1ea3e951679a33d36b6c5f2f8d98016e9908c4af9110736a24b159542c83a9b8.js\" data-discourse-entrypoint=\"onpopstate-handler\" nonce=\"bJfYSa08sEXVGC4MEMEU13WAq\"\u003E\u003C/script\u003E\n\n",
    "group": null
  }
}

Да. С созданием пользователей что-то точно не так. Похоже, будет непросто разобраться. Но в этих логах вам нужно искать записи, которые появляются при попытке входа в систему. Ищите ту, где указан путь /login, а не /t/en-narratives-about/96.json.

Если вам нужна платная поддержка для вашего сайта с самостоятельным размещением, вы можете связаться со мной напрямую — либо через личные сообщения, либо используя мои контактные данные в профиле.

Спасибо за помощь в навигации по этому вопросу. Моя попытка входа после создания пользователя администратора с помощью rake admin:create выглядит так:

Started GET "/session/passkey/challenge.json" for 179.210.195.226 at 2025-01-24 21:13:59 +0000
Processing by SessionController#passkey_challenge as JSON
Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 2.0ms)
Started GET "/t/en-narratives-about/96.json" for 34.127.96.150 at 2025-01-24 21:14:00 +0000
Processing by TopicsController#show as JSON
  Parameters: {"slug"=>"en-narratives-about", "topic_id"=>"96"}
Completed 500 Internal Server Error in 35ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.7ms)
Started POST "/session" for 179.210.195.226 at 2025-01-24 21:14:05 +0000
Processing by SessionController#create as */*
  Parameters: {"login"=>"martim", "password"=>"[FILTERED]", "second_factor_method"=>"1", "timezone"=>"America/Sao_Paulo"}
Started GET "/t/en-narratives-about/96.json" for 34.127.96.150 at 2025-01-24 21:14:06 +0000
Processing by TopicsController#show as JSON
  Parameters: {"slug"=>"en-narratives-about", "topic_id"=>"96"}
Completed 200 OK in 195ms (Views: 0.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 4.3ms)

Я также вижу ваши попытки:

Started GET "/session/hp.json" for 174.50.213.142 at 2025-01-24 20:58:53 +0000
Processing by SessionController#get_honeypot_value as JSON
Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started GET "/u/check_username?username=Jay_Pfaffman&email=jay%40literatecomputing.com" for 174.50.213.142 at 2025-01-24 20:58:53 +0000
Processing by UsersController#check_username as JSON
  Parameters: {"username"=>"Jay_Pfaffman", "email"=>"jay@literatecomputing.com"}
Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)

До этого я вижу случаи:

Started GET "/session/email-login/36ac7e1c52851f1b5c76894b04fd3c4d.json" for 31.186.166.197 at 2025-01-24 20:23:25 +0000
Processing by SessionController#email_login_info as JSON
  Parameters: {"token"=>"36ac7e1c52851f1b5c76894b04fd3c4d"}
Completed 200 OK in 6ms (Views: 0.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)

и

Started GET "/session/hp.json" for 174.50.213.142 at 2025-01-24 21:02:05 +0000
Processing by SessionController#get_honeypot_value as JSON
Completed 200 OK in 2ms (Views: 0.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)

Как вы думаете, чистая установка + некоторая конфигурация могли бы помочь здесь? Я восстановил резервную копию сразу после того, как форум стал доступен.

Не совсем понимаю, о чём это. Вы настроили ключ доступа (passkey) для своего пользователя? Включена ли у вас двухфакторная аутентификация на аккаунте? Это обязательно?

Я просто не знаю. Предполагаю, что можно полностью очистить базу данных и проверить, работают ли создание аккаунтов и вход в систему на чистой установке. Это позволит понять, проблема в вашей установке или в базе данных.

Что-то вроде

cd /var/discourse
./launcher stop app
rm -rf shared/standalone/postgres*
./launcher rebuild app

А затем убедиться, что вы можете создать аккаунт, получить письмо по электронной почте и что вход в систему работает.

Иногда требуется установить те же плагины, которые были установлены на системе, откуда вы переезжаете.

Вы проверяли production_errors.log?

Похоже, они пустые.

Завтра, наверное, попробую чистую установку; теперь, когда я втянулся, это должно быть довольно просто. Но я всё ещё думаю об этом:

Единственные ошибки 500, которые я нашёл в логах, связаны с GET-запросами к “/t/en-narratives-about/96.json”. Не может ли быть, что они мешают? Может, стоит удалить это из БД, чтобы запрос больше не вызывался?

Я понимаю, что создание пользователей сломано, но администратор, созданный через rake admin:create, действительно кажется работающим…

Попробуйте перейти по адресу https://yoursitedomain/u/admin-login и включить безопасный режим перед отправкой письма. Это отключит все плагины, но позволит войти в систему, чтобы вы могли исправить свой плагин. Также работает для OAuth.

Спасибо, попробовал это, но получил то же всплывающее окно с ошибкой 500, как и выше… Логи этой попытки:

Started GET "/session/email-login/058db4bbc47396be096cf7bed508c23e?safe_mode=no_plugins,no_themes" for 179.210.195.226 at 2025-01-27 13:04:30 +0000
Processing by SessionController#email_login_info as HTML
  Parameters: {"safe_mode"=>"no_plugins,no_themes", "token"=>"058db4bbc47396be096cf7bed508c23e"}
  Rendered layout layouts/application.html.erb (Duration: 54.6ms | GC: 1.2ms)
Completed 200 OK in 62ms (Views: 56.0ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 1.2ms)
Started GET "/svg-sprite/forum.imaginerio.org/svg--ebd30ca654fdbd40604e7a7f5127b1bce16eb12b.js" for 179.210.195.226 at 2025-01-27 13:04:30 +0000
Processing by SvgSpriteController#show as */*
  Parameters: {"hostname"=>"forum.imaginerio.org", "theme_id"=>"", "version"=>"ebd30ca654fdbd40604e7a7f5127b1bce16eb12b"}
Completed 200 OK in 5ms (Views: 0.5ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started GET "/session/email-login/058db4bbc47396be096cf7bed508c23e.json" for 179.210.195.226 at 2025-01-27 13:04:30 +0000
Processing by SessionController#email_login_info as JSON
  Parameters: {"token"=>"058db4bbc47396be096cf7bed508c23e"}
Completed 200 OK in 253ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.7ms)
Started GET "/session/csrf" for 179.210.195.226 at 2025-01-27 13:04:34 +0000
Processing by SessionController#csrf as JSON
Completed 200 OK in 5ms (Views: 1.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started POST "/session/email-login/058db4bbc47396be096cf7bed508c23e" for 179.210.195.226 at 2025-01-27 13:04:34 +0000
Processing by SessionController#email_login as */*
  Parameters: {"second_factor_method"=>"1", "timezone"=>"America/Sao_Paulo", "token"=>"058db4bbc47396be096cf7bed508c23e"}
Completed 500 Internal Server Error in 182ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 1.4ms)

Похоже, что проблема возникает в SessionController#email_login при значении “second_factor_method”=>“1”?

Только что попробовал это, и создание новых учётных записей прошло успешно. Похоже, что именно восстановление из резервной копии нарушило работу входа. Мог ли мой файл .tar->tar.gz что-то повредить? Сделает ли настройка OAuth до восстановления какую-либо разницу, или она будет перезаписана при восстановлении?

У вас включена системная настройка, требующая включения двухфакторной аутентификации?

У меня включена опция «Требовать двухфакторную аутентификацию при внешней аутентификации», а опция «Требовать двухфакторную аутентификацию» выключена:

Честно говоря, текст немного запутывает. В нём сказано, что это потребует от пользователей использовать двухфакторную аутентификацию, но также указано, что пользователи, у которых двухфакторная аутентификация уже включена, не смогут входить через внешнюю аутентификацию? Получается, что это ограничивает вход только учётными записями форума и отключает внешние?

Кажется, я решил проблему. У меня была отключена рассылка писем для пользователей вне команды. Изменение этого параметра через SiteSetting.disable_emails = "no", похоже, помогло! Спасибо всем за поддержку. Всё ещё не совсем понятно, почему это вызывало такие проблемы (я получал письмо при создании администратора через консоль, и непонятно, почему отключение писем могло повлиять на вход зарегистрированного пользователя), но сейчас всё в порядке :slight_smile: