페이스북이 아닌 사용자의 가입

must_approve_users를 활성화하여 회원 가입 자격을 부여하고 싶습니다. 하지만 동시에, Facebook 회원은 자동으로 자격을 갖추게 하고 싶습니다(보통 제 Discourse 사이트에 대한 링크를 Facebook에 게시하기 때문이죠). must_approve_users가 전역적으로 적용된다는 점은 이해하고 있습니다. 이 목표를 달성할 수 있는 플러그인이 있을까요?

감사합니다
Dan

안녕하세요,

제 지식 범위 내로는 현재 이 기능을 수행하는 플러그인이 없습니다. 과거에는 승인 절차를 우회할 수 있는 초대 링크를 공유하는 것이 하나의 우회책으로 사용되었지만, 해당 보안이 강화되었습니다. 관련 내용은 다음 링크를 참고하세요: Why do I need to still approve users that I have invited?

해당 기능을 변경해 달라는 기능 요청에 찬성을 해보시는 것도 좋습니다:

또한 Custom Wizard Plugin :mage:을 확인해 보시고, 해당 플러그인이 필요한 작업을 수행할 수 있는지 살펴보세요.

마지막으로, 사용자 정의 필드와 Discourse Automation 플러그인을 조합하여 설정을 구성해 볼 수도 있습니다. 하지만 이 경우 A) 사용자가 사용자 필드에 거짓 정보를 입력할 수 있어 보안에 문제가 있으며, B) 플러그인을 위해 새로운 스크립트를 작성해야 합니다.

피드백 주셔서 감사합니다. 제가 22년째 운영 중인 현재 phpBB 보드에 대한 운영 경험에 대해 두 가지 의견을 말씀드리고자 합니다.

  1. 페이스북이 성장함에 따라 제 보드 내 활동은 급격히 줄어 거의 멈추다시피 했습니다. 그들과 맞서 싸울 수는 없다고 확신하므로, 그들 안에 합류하기로 했습니다. 보드를 페이스북과 통합하고 그곳에서 홍보할 수 있는 범위 내에서 더 많은 트래픽을 유도할 수 있습니다. 지금까지 제 phpBB 보드에서 이는 사실로 입증되었습니다. 페이스북 사용자는 승인 없이, 초대 없이도 페이스북 자격 증명만으로 즉시 등록할 수 있는 기회를 제공받고 있습니다.

  2. 처음에는 페이스북 통합을 작동시키기 위해 phpBB의 승인을 받지 않은 등록을 개방해야 했습니다. 그러자 페이스북이 아닌 출처의 스팸 등록이 쏟아져 들어왔습니다. 이후 코드를 추가로 수정하여 페이스북(스팸이 전혀 없었음)을 제외한 모든 등록에 대해 승인 요구 조건을 다시 적용했습니다.

페이스북의 수천 명에 달하는 같은 취향의 자동차 애호가들에게 등록을 권유하는 것이 제 보드와 같은 곳의 해답이라고 생각하지는 않습니다. 대신 그들이 방문했을 때 자동으로 등록할 수 있도록 최대한 쉽게 만드는 것이 해답이라고 봅니다. 하지만 phpBB는 구식이 되었고, Discourse가 앞으로 나아갈 방향이라고 생각합니다. 비슷한 등록 규정을 갖춘 채로요. 그래서 이 요청을 드립니다.

저는 코더라기보다 해커에 가깝고, 제 변경 사항을 공개적으로 GitHub에 게시하는 데는 망설여집니다. 하지만 제 discourse-facebook-autoapprove 플러그인을 로컬 git 저장소에서 작동시킬 수 있다면, 출발점으로 공유하는 데 기꺼이 응하겠습니다.

감사합니다
Dan

저는 코더보다는 해커에 가깝고, 제 변경 사항을 GitHub에 공개적으로 게시하는 데는 약간 망설여집니다. 하지만 discourse-facebook-autoapprove 플러그인을 로컬 git 저장소에서 작동시킬 수 있다면, 출발점으로 공유하는 데 기꺼이 응하겠습니다.

저는 (Claude의 도움으로) 작동하는 단일 파일 Ruby 플러그인을 개발할 수 있었습니다. 사용자가 Facebook 로그인 과정에서 Discourse가 요청하는 정보 공유를 승인하면, Discourse 계정이 생성되고 사용자는 자동으로 로그인됩니다. Facebook 사용자가 아닌 사용자는 여전히 Must approve users(사용자 승인 필수) 설정의 적용을 받습니다.

로컬 git 저장소에서 개발했기 때문에 git을 참조하도록 app.yml에 일부 변경이 필요했습니다. 에티켓을 어기고 싶지 않아 세부 사항은 여기에 공유하지 않겠습니다만, 이 프로젝트를 이어받아 발전시키고 싶어 하시는 분께는 기꺼이 알려드리겠습니다.

감사합니다.
Dan

저희도 곧 비슷한 상황을 맞이할 예정이라, 여러분의 리포지토리를 살펴보고 직접 테스트해 보고 싶습니다.

코드를 공유하는 데 대해 어떤 우려가 있으신가요? Google 인증, Microsoft 인증, LinkedIn 등 다른 사용자가 승인 대기열을 건너뛸 수 있도록 코드를 수정하거나 확장할 수 있는지 확인해 보고 싶습니다.

걱정할 것 전혀 없어요, @nathank! 공유하는 데 전혀 문제없습니다. 다만 정치적으로 민감한 행동을 하고 싶지는 않았을 뿐이에요.

여기에 올리는 대신, 검토를 위해 따로 보내드릴까요?

감사합니다!
Dan

편하신 대로 메시지(Message)로 보내 주시면 됩니다 (편하게 보낼 수 있다면).

만약 잘 작동하게 된다면, github.com에 공개해도 될까요? (원하시는 대로 저자에게 기명하거나 기명하지 않거나, 자유롭게 선택해 주세요.)

정말 멋진 제안입니다! 출처 표기는 신경 쓰지 마세요 :zany_face: Claude가 plugin.rb와 app.yml 변경 사항까지 모두 포함한 훌륭한 마크다운 문서를 처음부터 끝까지 만들어 주었습니다. 그 문서를 보내 드리겠습니다.

관심과 지지 감사드립니다! 정말 훌륭한 제품이자 게시판이죠!

Dan

공개를 해 주셔서 감사합니다. 솔직히 말씀드리면, 이제 DiscourseID를 갖추게 되면서 Facebook과의 직접적인 통합이라는 복잡한 영역에 깊이 파고들고 싶다는 마음이 많이 줄었습니다.

다만, 곧 나올 매우 중요한 사용 사례가 있어 이 부분을 다시 검토하게 될 수도 있습니다.