항목 2 - “사용자가 계정 정보를 입력하면 받은 편지함으로 활성화 이메일을 받게 됩니다.”
관리자 승인(Manual Approval)이 필요한 사용자로 설정해 두었는데, 가입 후 새 사용자의 받은 편지함으로 활성화 이메일이 전송되지 않고 있습니다. 이 현상의 잠재적인 원인이 있을까요? (참고로, 해당 새 사용자는 가입 2일 후 발송된 계정 활성화 후속 이메일은 정상적으로 수신했습니다.)
멤버십 유형에 따라, 원할 멤버(Wishlist Member) 등록 링크를 통해 신규 멤버가 가입하면 Discourse에서 자동으로 새 사용자가 생성되어야 합니다. 이 시점에서 새 사용자 계정은 아직 활성화되지 않았으므로, 다음 단계로 신규 멤버가 가입 이메일을 받아야 합니다. 하지만 어떤 이유인지 확실하지는 않으나, 이메일이 전송되지 않고 있습니다…
여기서는 추측을 조금 하고 있습니다. WordPress와 Discourse 사이에 DiscourseConnect가 활성화되어 있나요? 그렇다면 사용자가 가입을 시작할 때 Discourse 사이트의 “Sign Up” 버튼을 클릭하는 대신 “Log in” 버튼을 클릭하고 있을 가능성이 큽니다.
위 내용이 맞다면, WP Discourse의 DiscourseConnect Provider 옵션 탭에서 “Create or Sync Discourse Users on Login” 옵션이 활성화되어 있는 경우, Discourse에서 “Log in” 버튼을 클릭하여 가입하는 사용자와 Wishlist Member 가입 링크를 통해 가입하는 사용자 간에 로그인 흐름이 달라질 수 있습니다. 물론 설정이 그렇게 되어 있지 않다면 제 추측이 완전히 틀렸을 수도 있습니다.
이제 이해가 됩니다. 사용자가 하는 일은 Discourse가 아니라 WordPress에 계정을 등록하는 것입니다. DiscourseConnect를 사용할 때 사용자의 관점에서는 다소 혼란스러울 수 있지만, 이는 아마도 별개의 문제일 것입니다.
현재 일어나는 일은 다음과 같습니다. 사용자가 Discourse에서 “Log in” 버튼을 클릭하면 WordPress 사이트의 로그인 페이지로 리디렉션됩니다. 그 다음 로그인 페이지에서 사이트의 등록 페이지로 이동해야 합니다(이 부분이 혼란스러운 부분입니다). 사이트에서 등록한 후, _WordPress_에서 계정 활성화를 요청하는 이메일을 받게 됩니다(이는 WordPress 사이트의 설정에 따라 달라집니다). WordPress 사이트가 기본 등록 설정을 사용하고 있다고 가정하면, 사용자는 활성화 이메일의 링크를 클릭하여 WordPress 계정 활성화 및 사이트 로그인에 필요한 단계를 거치게 됩니다.
WP Discourse의 “Create or Sync Discourse Users on Login” 옵션이 활성화되어 있다면:
WordPress에 로그인하면 Discourse 사용자가 자동으로 생성됩니다. WordPress에서 해당 옵션이 활성화되어 있지 않다면, 사용자가 다시 Discourse의 “Log in” 버튼을 클릭하거나 WordPress 사이트에 추가한 Discourse 로그인 링크를 클릭할 때까지 Discourse 사용자는 생성되지 않습니다.
어떤 경우든, Discourse 사용자가 생성되면 Discourse 사이트에 “Needs approval”(승인 대기) 검토 항목이 생성됩니다:
Discourse 사이트의 스태프는 승인을 기다리는 사용자가 있다는 알림을 받게 됩니다. 스태프가 사용자를 승인하면, 사용자에게 Discourse에서 “You’ve been approved”(승인되었습니다)라는 이메일이 전송됩니다.
이는 사용자에게 Discourse 사이트 접근 권한을 부여하기 위한 매우 복잡한 방법처럼 보입니다. 이를 단순화하는 가장 쉬운 방법(사용자의 관점에서)은 Discourse에서 must approve users 설정을 비활성화하는 것입니다. WordPress 사이트에서 Discourse 사이트 접근을 허용하지 않는 사용자가 있다면, 일부 사용자가 Discourse에 로그인하지 못하도록 WordPress 사이트에 코드를 추가하는 것이 더 좋습니다: How to prevent some WP users from being able to login to Discourse - #2 by simon.
DiscourseConnect가 활성화된 상태에서 must approve users 설정을 활성화할 만한 좋은 사용 사례가 있다고 생각하지 않습니다. 사용자의 관점에서는 상당히 혼란스럽습니다.
DiscourseConnect가 활성화된 상태에서 아직 Discourse나 WordPress 어느 쪽에도 계정이 없는 사용자가 Discourse의 “Log in” 버튼을 클릭하는 문제에 대해 좋은 해결책을 찾고 싶습니다. 아마도 Discourse에 discourse connect signup url 설정을 추가할 수 있을 것입니다. 이 설정이 구성되면, 사용자는 인증 제공자의 로그인 페이지 대신 인증 제공자의 가입 페이지로 리디렉션될 수 있습니다. 당장은, 인증 제공자의 로그인 페이지에서 “registration”(가입) 링크가 명확하게 표시되도록 하는 것이 최선의 해결책입니다. 기본 WordPress 로그인 페이지에서는 그다지 명확하지 않습니다: