복원 후 포럼에 로그인할 수 없습니다

macOS에서 .tar 파일을 다운로드하는 과정에서 백업 복원에 몇 가지 문제가 있었지만 결국 성공했습니다. 사이트는 forum.imaginerio.org에서 구 포스트를 포함한 모든 내용과 함께 정상적으로 실행되고 있지만, 배포 과정에서 설정한 관리자 계정으로든, 이전 포럼 자격 증명으로든 로그인할 수 없습니다. 현재 브라우저에서는 다음과 같은 메시지가 표시됩니다.

Oops
The software powering this discussion forum encountered an unexpected problem. We apologize for the inconvenience.

Detailed information about the error was logged, and an automatic notification generated. We'll take a look at it.

No further action is necessary. However, if the error condition persists, you can provide additional detail, including steps to reproduce the error, by posting a discussion topic in the site's feedback category.

하지만 시크릿(프라이빗) 창에서는 정상적으로 로딩됩니다. Google로 연결하면 Something went wrong, maybe this email has already been used라는 오류가 발생하고, GitHub로 연결하면 위에서 언급한 오류가 표시됩니다. 비밀번호를 잊었을 때 사용하는 링크를 시도해 보았지만 이메일이 도착하지 않으며, discourse-doctor로 보낸 테스트 이메일은 정상적으로 도착합니다.

실행 중인 컨테이너에서 확인해야 할 로그나 수행해야 할 다른 작업이 있을까요?

이것은 이전에 호스팅된 인스턴스에서 백업을 다운로드한 후 현재 직접 호스팅하고 있는 것이므로, 이것이 원인과 관련이 있을 수 있는지 확실하지 않습니다.

잠시 생각해 본 결과, 셀프호스팅 인스턴스에서 Google/GitHub 로그인을 설정하지 않아서 그런 것 같습니다. 확인해 주실 수 있나요? 만약 그렇다면, 콘솔을 통해 설정할 수 있을까요?

이 오류가 아니라 다른 오류가 발생했을 것입니다.

저에게는 실제로 잘 작동합니다:

GitHub도 마찬가지입니다.

관리자 백도어 로그인을 사용하고, 오류에 대한 더 자세한 정보를 확인하기 위해 /logs를 살펴볼 것을 권장합니다.

마이클, 감사합니다. 말씀하신 부분까지 도달할 수는 있지만, 실제로 계정을 생성하려고 하면 '문제가 발생했습니다’라는 메시지와 함께 해당 이메일이 이미 등록되어 있을 수 있다는 경고가 표시됩니다(사실은 아닙니다). 백도어 로그인을 시도해 보았는데, '이메일을 보냈습니다’라고 표시되지만 받은 편지함에 아무것도 도착하지 않습니다(다시 한번 말씀드리지만, discourse-doctor의 테스트 이메일은 도착합니다). 어쩐 이유로 팀 외 구성원에게 이메일을 끄는 설정을 해둔 기억이 나는데, 제가 사용하고 있는 이메일은 분명히 팀 이메일입니다.

아직 구독을 취소하지 않았습니다. 이 문제를 새로운/다른 관리자 계정과 설정으로 해결할 수 있다면, 고객 지원팀에서 도움을 받을 수 있을까요?

호스팅 사이트의 이메일 관련 문제는 도와드릴 수 있지만, 셀프 호스팅의 경우엔 도움을 드리기 어렵습니다.

컨테이너에서 rake admin:create 명령을 실행해 새 관리자 계정을 생성한 후 해당 계정으로 로그인해 보실 수 있습니다.

이 포럼은 아직 구독이 활성 상태인 호스팅 사이트에서 복원되었습니다. 같은 도메인을 사용하고 있기 때문에 호스팅된 사이트는 공개적으로 접근할 수 없지만, 여전히 실행 중일까요? 잘못된 설정으로 인해 잠금 상태에 있는 것 같다는 느낌을 바탕으로, 설정을 되돌린 후 새 백업을 내보내고 복원하는 방법을 제안하고 있습니다.

이 방법은 거의 작동하는 것 같습니다. 관리자 계정은 생성할 수 있었지만, 로그인하려고 하면 ‘unknown error’(알 수 없는 오류)가 발생하고 콘솔에는 500 오류가 표시됩니다. 로그인 링크를 요청해 보니 이메일은 성공적으로 도착했지만, 다시 한번:

컨테이너(/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 "-" "-" "-" "-" "-" "-" "-"

그 외에는 특별히 주목할 만한 내용은 없지만, /log/var-log에서 제 admin:create 명령의 확인 기록이 있을 뿐입니다:

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

슬러그로 이동하면 not found 오류가 표시됩니다:

{
  "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\"\u003E오래된 강 지형 (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='여기에서 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\"\u003E제목과 위치가 일치하지 않음\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='여기에서 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\"\u003E지도상의 위치와 일치하지 않는 이미지\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='우리 지도에 더 많은 옵션이 필요하신가요? 새 주제를 만들고 요청된 데이터를 입력하여 개선을 제안하세요.'\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\"\u003E로그인 문제\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='우리 지도에서 문제를 발견하셨나요? 새 주제를 만들고 요청된 데이터를 입력하여 문제를 보고하세요.'\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\"\u003E장-바티스트 드레의 전체 컬렉션 추가\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='우리 지도에 더 많은 옵션이 필요하신가요? 새 주제를 만들고 요청된 데이터를 입력하여 개선을 제안하세요.'\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\"\u003E유튜브 콘텐츠 게시\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='우리 지도에 더 많은 옵션이 필요하신가요? 새 주제를 만들고 요청된 데이터를 입력하여 개선을 제안하세요.'\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\"\u003E지도 표시 버그\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='우리 지도에서 문제를 발견하셨나요? 새 주제를 만들고 요청된 데이터를 입력하여 문제를 보고하세요.'\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\"\u003E지도 위치 복사/붙여넣기\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='우리 지도에 더 많은 옵션이 필요하신가요? 새 주제를 만들고 요청된 데이터를 입력하여 개선을 제안하세요.'\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\"\u003E이미지 서버 기술적 문제\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='우리 지도에서 문제를 발견하셨나요? 새 주제를 만들고 요청된 데이터를 입력하여 문제를 보고하세요.'\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: 플랫폼 접근 문제\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='우리 지도에서 문제를 발견하셨나요? 새 주제를 만들고 요청된 데이터를 입력하여 문제를 보고하세요.'\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
  }
}

네, 사용자 생성에 분명 문제가 있는 것 같습니다. 원인을 파악하기가 쉽지 않을 것 같네요. 하지만 해당 로그에서 로그인 시도를 할 때 발생하는 로그를 찾아보셔야 합니다. /t/en-narratives-about/96.json이 아닌 /login 경로가 포함된 로그를 찾으시면 됩니다.

자체 호스팅 사이트에 대해 유료 지원을 원하시면, 개인 메시지나 프로필에 있는 연락처로 직접 저에게 연락해 주세요.

이 문제를 해결하는 데 도움을 주셔서 감사합니다. 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)를 설정했나요? 계정에 2단계 인증이 활성화되어 있나요? 필수인가요?

정말 모르겠습니다. 데이터베이스를 초기화하고 클린 설치 상태에서 계정 생성과 로그인이 정상적으로 작동하는지 확인해 볼 수 있을 것 같습니다. 그러면 이것이 설치 환경의 문제인지 데이터베이스의 문제인지 알 수 있습니다.

다음과 같은 명령을 실행해 보세요.

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

그 후 계정을 생성할 수 있는지, 이메일을 받을 수 있는지, 그리고 로그인이 정상적으로 작동하는지 확인해 보세요.

이전 시스템에 설치되어 있던 플러그인들을 설치해야 하는 경우가 있습니다.

production_errors.log를 확인해 보셨나요?

내용이 비어 있는 것 같습니다.

내일 새로 설치해 볼 것 같습니다. 이제 어떻게 해야 하는지 감을 잡았으니 꽤 간단할 것 같습니다. 그런데 계속 이런 생각이 듭니다:

로그에서 찾은 500 에러는 모두 “/t/en-narratives-about/96.json” GET 요청과 관련된 것입니다. 이게 방해가 되고 있는 건 아닌가요? 데이터베이스에서 이 항목을 삭제해서 호출되지 않도록 하면 어떨까요?

사용자 생성이 깨져 있는 것은 이해가 되지만, rake admin:create로 생성한 관리자는 실제로 ‘동작하는’ 것 같습니다…

https://yoursitedomain/u/admin-login으로 이동한 후, 이메일을 보내기 전에 안전 모드를 켜보세요. 이렇게 하면 모든 플러그인이 비활성화되는 동시에 로그인할 수 있어 플러그인을 수정할 수 있습니다. OAuth에서도 작동합니다.

감사합니다. 시도해 보았지만 위에서와 같은 500 error 팝업이 다시 나타났습니다… 이 시도의 로그는 다음과 같습니다.

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를 설정해 두는 것이 차이를 만들까요, 아니면 복원 과정에서 설정이 덮어쓰기되는 건가요?

2단계 인증이 필요하도록 설정된 시스템 설정이 있나요?

저는 외부 인증에서 2단계 인증 강제를 켜고 2단계 인증 강제는 꺼놓았습니다:

솔직히 이 텍스트가 조금 혼란스럽습니다. 사용자가 2단계 인증을 사용하도록 요구한다고 하면서도, 2단계 인증이 활성화된 사용자는 외부 인증으로 로그인할 수 없다고 하는 것 같습니다. 즉, 사실상 포럼 계정 로그인은 제한하고 외부 로그인은 비활성화하는 건가요?

해결한 것 같습니다. 팀 외 멤버에 대한 이메일을 비활성화해 두었는데, SiteSetting.disable_emails = "no"로 변경하니 문제가 해결되었습니다! 도움을 주신 모든 분들께 감사드립니다. 여전히 이것이 왜这么大的 혼란을 일으켰는지 정확히 모르겠습니다 (콘솔을 통해 관리자를 생성할 때는 이메일이 잘 수신되었고, 이메일을 비활성화하는 것이 등록된 사용자의 로그인에 왜 영향을 미치는지 이해가 가지 않거든요) 하지만 지금은 모든 것이 정상입니다 :slight_smile: