안녕하세요 - 이 문제에 대한 답변을 찾아보았지만 아무것도 찾지 못했습니다. 저는 우리 포럼의 관리자(Admin)이며, 평소에는 Google 인증을 통해 로그인합니다. 이메일 주소를 변경하려고 했는데, 설정 페이지에서 변경을 시작했습니다. 첫 번째 확인 이메일이 현재 이메일 주소로 도착했고, 확인을 완료했습니다. 그제까지는 문제가 없었고, 새 주소로 확인 이메일이 발송될 것이라고 안내되었습니다. 두 번째 확인 이메일이 새 주소로 도착했지만, 해당 확인 링크를 클릭하면 브라우저에서 다음과 같은 메시지가 표시됩니다:
나도 비슷한 경험을 하고 있을 수 있습니다. 저는 우리 포럼의 관리자(Admin)입니다. 이메일 주소를 변경하고 인증 이메일을 받았어요 — 여기까지는 괜찮았습니다. 그런데 포럼에 다시 접속하니 자동으로 로그인되어 있었고, 설정을 확인해 보니 포럼 이메일은 새 주소로 설정되어 있었습니다. 하지만… 로그인 이메일은 처음 등록한 주소 그대로였어요. 조금 더 알아보니 관리자 계정에 로그인하려면 처음 등록할 때 사용한 주소를 사용해야 한다는 걸 알게 되었습니다. 완전히 로그아웃한 뒤 “새” 이메일 주소로 다시 로그인하려고 하면, 질문자님과 동일한 오류 메시지가 나타납니다.
환경 설정(Preferences)을 확인해서 포럼 이메일을 받을 주소를 새 주소로 설정해 두었는지 살펴보세요. 아마 그렇게 되어 있을 겁니다. 하지만 제 추측으로는 로그인에 사용되는 주소는 여전히 처음 관리자 계정을 만들 때 사용한 주소로 설정되어 있을 것입니다.
@dax님이나 다른 팀 멤버가 이것이 원래 그런 방식인지, 아니면 관리자 로그인 이메일을 다른 방법으로 초기화해야 하는지 설명해 주실 수 있을 것 같습니다.
최신 tests-passed 버전의 Discourse에서 관리자 이메일 변경 프로세스를 테스트해 보았습니다. 일반 로그인 자격 증명 외에 Google 인증도 설정되어 있었습니다. 두 가지 다른 브라우저(Safari와 Chrome)를 사용하여 테스트했는데, 모두 제가 기대했던 대로 정상적으로 작동하는 것으로 확인되었습니다.
또한 약 11일 전 커밋에 있는 Discourse 사이트에서도 테스트해 보았습니다. 해당 관리자 계정은 2FA가 활성화된 표준 로그인이 설정되어 있었습니다. 이 커밋 이후 프로세스가 조금 변경되었지만, 여전히 문제없이 작동합니다.
Discourse 사이트가 완전히 최신 상태임에도 불구하고 이 문제를 계속 겪고 있다면, 재현 단계를 단계별로 게시하고 관련 브라우저 정보(버전, 운영체제, 기본 브라우저 vs 설치된 플러그인)를 함께 남겨 주세요. 저희가 호스팅을 제공하고 있고 현재 이 문제가 실제로 발생하고 있다면, 일반적인 지원 채널로 연락해 주시면 직접 소통하여 문제를 해결해 드리겠습니다.
대시보드를 확인해 보니, 이메일 주소가 새 주소로 변경되어 표시되고 있었습니다. 이는 결제(Billing) 섹션에 표시됩니다.
새 주소로 새 주제/게시물 알림도 정상적으로 받고 있습니다.
사용자 설정/계정(User Preferences/Account)(로그인용)을 확인해 보면, 처음 포럼 가입 시 사용했던 원래 이메일 주소가 여전히 표시되고 있습니다.
해당 위치에서 이메일 주소를 새 주소로 수정했습니다.
*변경 사항 저장(Save Changes)*을 클릭하고 나갔습니다.
나중에 다시 확인해 보니, 원래 이메일 주소가 다시 표시되고 있었습니다.
로그인할 때마다 로그인 메시지에 Discourse 설정 시 사용했던 주소를 사용하라고 나와 있습니다. 그래서 보안상의 이유라고 판단해 따로 보고하지 않았습니다. 그 외에는 새 이메일 주소로 알림, 결제 영수증 등 필요한 내용을 정상적으로 받고 있습니다.
(참고로, 저는 여전히 기존 메일함에 접근할 수 있습니다.)
제 문제가 바로 그 지점에 있습니다. 저는 관리자입니다. 그 페이지에서 이메일을 변경할 수 없습니다. 제 사용자 계정 설정으로 가서 이메일 주소를 변경하고 저장 버튼을 클릭하면 인증 이메일이 발송되었다는 통지를 받고 나옵니다. 링크를 클릭하면 로그인 화면으로 이동하는데, 여기서 새 이메일 주소를 입력하면 최초 가입 시 사용했던 주소로 로그인하라는 통지가 나옵니다. 이메일 변경이 저장되지 않은 것입니다. 원래 가입할 때 사용했던 주소로 돌아갑니다.
반면, 포럼과 동일한 도메인 이름이 아닌 제가 소유한 다른 도메인 이름의 이메일 주소를 사용하면 작동할까요? 어쨌든 제게는 문제가 아닙니다. 그대로 두는 것이 나을 것 같습니다.
@David_Baker1, 시간을 내어 영상을 만들어 주셔서 감사합니다. 영상을 보고 Chrome에서 신중하게 따라 해 보았습니다. 모든 것이 완벽하게 작동했으니, 사용자의 환경에서 뭔가 독특한 상황이 있는 것 같습니다. 고려해 볼 수 있는 몇 가지 질문은 다음과 같습니다:
사이트의 /logs 섹션에서 관련이 있어 보이는 오류가 있나요?
Chrome 브라우저 확장 프로그램을 사용 중인가요? 그렇다면 다른 브라우저에서 동일한 과정을 시도해 볼 수 있나요?
다시 인사드립니다. 더 조사해 본 결과 원인에 대한 단서를 찾았습니다. 제 계정 설정/환경 설정에서 이메일은 제가 변경하려고 하는 원래 이메일 주소로 표시되어 있습니다. 하지만 해당 화면 오른쪽 위 근처의 관리자(Admin) 버튼을 클릭하고 아래로 스크롤하여 SSO 설정 아래 맨 아래를 보면, 제가 변경하고자 하는 새 이메일 주소가 나열되어 있습니다. 이 주소는 처음 Discourse를 설정할 때 사용했던 주소입니다. 그 후 저는 새 직장으로 이직하여 계정 이메일을 변경했습니다. 그런데 이제 다시 원래 주소로 되돌리려 합니다.
제 상황과 정확히 같습니다. 관리자 화면에서는 제가 변경하고자 했던 이메일 주소가 표시되지만, 사용자 환경 설정에는 최초 로그인 시 사용했던 원래 주소가 그대로 남아 있습니다. 또한 제 계정에는 서로 다른 두 개의 이메일 주소가 연결되어 있는 것 같습니다… 아니면 사용자 계정과 관리자 계정을 서로 다른 두 개의 계정으로 취급하는 건가요?
방금 다시 확인해 보았습니다. 관리자 대시보드에 보조 이메일 계정은 표시되어 있지 않습니다.
수정: 찾았어요. user_notifications.confirm_new_email.text_body_template가 URL을 덮어쓰고 있었네요.
나머지는 무시하셔도 됩니다.
Simon, 도움 주셔서 감사합니다.
문제는 이렇습니다:
https://forum.xx.org/users/authorize-email/c7ed779eb28c049ec4a5105dd9e07013 같은 링크 대신 https://forum.xx.org/u/confirm-new-email/c15d4bc33211e586b70572195f7dac89 형식의 링크가 포함된 “새 이메일 주소 확인” 이메일을 보내고 있습니다.
링크를 올바른 URL과 토큰으로 다시 작성하면 정상적으로 작동하지만, 어째서인지 구식 링크 형식을 보내고 새로운 형식은 보내지 않는 것 같습니다! (아래에 설명한 grep 및 재부팅을 한 후에 두 번 시도해 보았습니다.)
방금 ./launcher rebuild를 실행했는데도 여전히 구식 형식의 링크를 보내고 있습니다. 광고된 대로, 설치된 것은 단단하고 공식적인 플러그인뿐입니다.
그리고 컨테이너에 들어가서 /var/www/discourse에서 grep -r authorize-email을 실행했는데 파일이 하나도 찾지지 않았습니다. 그 후 재부팅을 했습니다.