# 이메일 주소 충돌 시 관리자에게 문제 해결 권한 강화

**URL:** https://meta.discourse.org/t/conflicting-email-addresses-giving-admins-more-power-to-resolve-issues/176965
**Category:** Support
**Created:** [1월 22, 2021, 5:59오후 UTC](https://meta.discourse.org/t/conflicting-email-addresses-giving-admins-more-power-to-resolve-issues/176965 "2021-01-22T17:59:59Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![sudoman](https://avatars.discourse-cdn.com/v4/letter/s/8baadc/32.png) [@sudoman](https://meta.discourse.org/u/sudoman)
#### Post date: [1월 22, 2021, 5:59오후 UTC](https://meta.discourse.org/t/conflicting-email-addresses-giving-admins-more-power-to-resolve-issues/176965/1 "2021-01-22T17:59:59Z")

</div>

사용자 중 한 명이 두 개의 Discourse 계정을 보유하고 있습니다. 하나는 더 이상 사용하지 않는 계정이고, 다른 하나는 로그인할 수 없는 새 계정입니다. 원인은 CAS SSO 제공자에서 새 계정에 설정된 이메일 주소가 포럼의 기존 계정 이메일 주소와 동일하기 때문인 것으로 보입니다.

저는 자신의 테스트 계정으로 실험을 해보며, 계정을 비활성화하고 SSO 기록을 삭제해 보았습니다. 하지만 기존 기록이 더 이상 SSO 페이로드와 일치하지 않아 해당 계정에 대한 새로운 로그인이 방지되는 것 같고, 이제 이메일 주소가 충돌하는 것으로 인식되고 있습니다.

또한, 사용자가 새 계정으로 로그인할 수 있도록 사용하지 않는 Discourse 계정의 이메일 주소를 변경하는 시도도 해보았습니다. 하지만 이를 위해서는 이메일 확인이 필요합니다. 임의의 주소를 가로챌 수 있도록 SMTP 서버에 이메일 별명을 설정했지만, 링크를 따를 때 SSO를 통해 해당 사용자로 로그인해야 합니다. 문제는 이를 위해 사용자 계정을 다시 활성화하고, 새 비밀번호를 설정하고, 계정을 멤버 데이터베이스에 연결하며, SSO 제공자에 가짜 멤버십을 생성해야 한다는 것입니다. 이는 분명히 가능한 일이지만, 이 사용자의 계정을 수정하기 위해 엉켜버린 거미줄 속에 빠져 있는 것 같습니다.

데이터베이스에 직접 들어가서 SQL 쿼리를 통해 변경하는 것은 과거에 해본 적이 있지만, 위험한 작업이므로 가능하면 이 방법을 피하고 싶습니다.

Discourse를 깨뜨리지 않는다면, 비활성화된 계정의 이메일 주소를 단순히 '확인되지 않음’으로 설정하는 것 대신 삭제할 수 있는 기능이 있으면 좋겠습니다.

이 문제를 해결할 다른 방법이 있다면 알려주시기 바랍니다. 감사합니다!

---

<div class="post-metadata">

### Author: ![Sailsman63](https://avatars.discourse-cdn.com/v4/letter/s/b5ac83/32.png) [@Sailsman63](https://meta.discourse.org/u/Sailsman63)
#### Post date: [1월 22, 2021, 6:45오후 UTC](https://meta.discourse.org/t/conflicting-email-addresses-giving-admins-more-power-to-resolve-issues/176965/2 "2021-01-22T18:45:21Z")

</div>

기존 사용자를 새로운 사용자로 병합하지 않는 이유는 무엇인가요?

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [1월 23, 2021, 12:56오전 UTC](https://meta.discourse.org/t/conflicting-email-addresses-giving-admins-more-power-to-resolve-issues/176965/3 "2021-01-23T00:56:23Z")

</div>

현재 [Discourse의 SSO 구현](https://meta.discourse.org/t/discourseconnect-official-single-sign-on-for-discourse-sso/13045)을 사용 중이며, SSO 페이로드에서 `require_activation` SSO 매개변수를 `true`로 설정하고 있는 것으로 보입니다. 그렇다면 해당 문제를 해결하는 방법에 대한 자세한 내용은 이 토픽을 참고해 주세요: [Debug and fixing common DiscourseConnect issues](https://meta.discourse.org/t/debugging-and-fixing-common-sso-issues/103496). SQL 쿼리를 통해 데이터베이스를 직접 업데이트하는 것보다 해당 토픽에 제시된 Rails 콘솔 명령어를 실행하는 것이 더 안전합니다.

위 게시물에서 언급했듯이 두 계정을 병합하는 것이 좋은 접근 방식일 수 있지만, 그 작업을 완료한 후 SSO 레코드에 대해 일부 조정이 필요할 수 있습니다.

---

<div class="post-metadata">

### Author: ![JimPas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jimpas/32/148179_2.png) [@JimPas](https://meta.discourse.org/u/JimPas)
#### Post date: [1월 23, 2021, 4:58오전 UTC](https://meta.discourse.org/t/conflicting-email-addresses-giving-admins-more-power-to-resolve-issues/176965/4 "2021-01-23T04:58:24Z")

</div>

검색을 통해 `merge user accounts`라는 기능도 발견했습니다. 이 기능은 여전히 활성 사용자 목록(관리자 대시보드)에서 사용자를 클릭하고, 아래로 스크롤하여 아래에 표시된 3개의 버튼을 통해 사용할 수 있습니다.

* * *

[Discourse 2.5.0.beta3 Release Notes](https://meta.discourse.org/t/discourse-2-5-0-beta3-release-notes/148766)

### UI를 통한 사용자 병합

2018년 초에 두 사용자 계정을 서로 병합하는 기능이 추가되었습니다. 당시에는 병합 지원이 rake task로 추가되었기 때문에 서버에 SSH 접근 권한이 필요했습니다.

이제 모든 관리자가 사용자를 병합할 수 있습니다! 사용자 관리자 페이지를 방문하여 페이지 하단의 “Transfer & Delete”를 선택하세요. ![image](https://global.discourse-cdn.com/meta/original/3X/8/8/88f90554dc2a915261dc35879bc44f6f9e42679a.png)

계정을 병합할 대상 사용자 이름을 입력하고, “Transfer & Delete @username”을 클릭하여 병합 과정을 시작합니다.

---

<div class="post-metadata">

### Author: ![sudoman](https://avatars.discourse-cdn.com/v4/letter/s/8baadc/32.png) [@sudoman](https://meta.discourse.org/u/sudoman)
#### Post date: [1월 24, 2021, 12:37오전 UTC](https://meta.discourse.org/t/conflicting-email-addresses-giving-admins-more-power-to-resolve-issues/176965/5 "2021-01-24T00:37:28Z")

</div>

팁과 도움 주셔서 감사합니다. 다음 주에 테스트 계정 몇 개로 직접 해보고, 큰 문제가 생기면 알려드릴게요. 감사합니다 : )

---

<div class="post-metadata">

### Author: ![sudoman](https://avatars.discourse-cdn.com/v4/letter/s/8baadc/32.png) [@sudoman](https://meta.discourse.org/u/sudoman)
#### Post date: [1월 25, 2021, 7:57오후 UTC](https://meta.discourse.org/t/conflicting-email-addresses-giving-admins-more-power-to-resolve-issues/176965/6 "2021-01-25T19:57:37Z")

</div>

네, 결국 잘 해결되었습니다. 계정을 병합할 때 Discourse는 대상(병합됨/삭제되지 않음) 계정의 SSO 인증 정보를 유지했고, 다른 계정은 삭제되었습니다.

도와주셔서 감사합니다. : )
