최근 우리 Discourse 인스턴스에 'userN’과 같은 이름의 일반 사용자(N은 숫자)가 대량으로 유입되고 있는데, 이는 최근 변경 사항 때문일까요? 그렇다면 이를 비활성화할 수 있을까요? 설정에서 관련 항목을 찾지 못했습니다.
해당 계정은 특정 시점에 익명 처리되었을 수 있습니다.
그들은 모두 첫 질문을 하는 신규 사용자들인데, 관리자가 익명 처리를 했을 것 같지는 않아요.
수정: 혹은 단순히 신규 사용자일 수도 있고, 반드시 게시글이 있는 것은 아닐 수도 있습니다.
이 새로운 사용자들은 어떤 방법으로 가입하나요?
확실하지 않은데, 확인할 수 있는 곳이 있을까요?
아래의 사용자 관리 페이지 하단에 있는 DiscourseConnect SSO 섹션에서 이 사용자들의 사용자명 정보가 모두 비어 있는 것 같습니다. 이것이 의미하는 바가 있다면요.
같은 이름을 가진 그룹이 있나요?
이것은 다음과 유사해 보입니다.
“user”라는 이름의 그룹이 없습니다.
discourse connect 가입 설정을 확인해 보시고, 가입 시 사용자 이름 필드를 건너뛸 수 있는지 확인해 주시겠어요?
글로벌 사용자 계정을 관리하는 내부 시스템 팀과, 아마도 Discourse Connect SSO와의 통합을 담당하는 팀에 확인을 요청해야 할 것 같습니다. 문제는 이쪽 어딘가에 있는 것 같은데… 왜 갑자기 이런 동작 변화가 생겼는지는 정확히 모르겠네요. 글로벌 계정에는 사용자명이 없고 이메일만 있는 것 같은데, 이 문제는 갑자기 나타났습니다.
어쨌든 실제로 누군가가 온라인이 될 때까지 몇 시간이 걸릴 것 같습니다. 제가 정말 일찍 일어났거든요.
최근 SSO에서 사용자 이름을 생성할 때 이메일 주소를 사용하는 방식을 중단했습니다.
권장 솔루션은 SSO 페이로드에 사용자 이름을 제공하는 것입니다. 숨겨진 사이트 설정을 변경하여 이전 동작으로 되돌릴 수 있지만, 향후 이 기능이 제거될 수 있습니다.
./launcher enter app
rails c
SiteSetting.use_email_for_username_and_name_suggestions = true
즉, 사용자 계정에 사용자 이름이 없고 SSO 페이로드의 username 필드에 이메일 주소만 입력하면 이전과 동일한 방식으로 동작하는 건가요?
네, 그렇게 작동할 것입니다. 하지만 이메일에서 사용자 이름을 생성하는 것은 피하는 것이 좋습니다. 이 경우 사용자의 이메일 주소를 쉽게 추측할 수 있기 때문입니다. 이는 보안에 위험합니다.
참고로 SSO의 name 필드에 전체 이름도 전송할 수 있습니다. 이렇게 할 경우:
- name은 Discourse에서 사용자의 전체 이름이 됩니다.
- SSO는 name을 사용하여 사용자 이름을 생성합니다.
모두 감사합니다. 단기적으로는 이 문제를 우회할 수 있는 정보를 모두 확보했고, 장기적으로는 근본적으로 해결할 수 있을 것 같습니다.
