“로그인 시 Discourse 사용자 생성 또는 동기화”가 작동하지 않습니다

SSO를 통해 사용자가 WordPress 계정에 로그인할 때 Discourse 계정이 생성되도록 “Create or Sync Discourse Users on Login”(로그인 시 Discourse 사용자 생성 또는 동기화) 옵션을 활성화했습니다.

SSO 연결은 올바르게 설정되어 있고 정상적으로 작동하며, 사용자들도 포럼을 이용하고 있습니다. 하지만 새로 가입한 사용자나 포럼이 추가되기 전에 가입한 사용자는 다음 단계를 거쳐야 합니다:

  1. 포럼 사이트에 접속합니다.
  2. 로그인을 클릭합니다.
  3. 계정은 생성되지만, 이후 이메일 주소를 확인해야 합니다.

즉, “생성 또는 동기화” 기능이 작동하지 않을 뿐만 아니라, 이메일 확인을 건너뛸 수 있는 기능(WordPress에서도 이 기능을 비활성화해 두었습니다)도 작동하지 않는 것 같습니다.

이 모든 문제를 어떻게 수정할 수 있을까요?

Shaun 씨, 문제가 발생했다는 소식을 들었습니다. 우려하시는 내용을 정확히 이해하기 위해 몇 가지 여쭤볼게요:

  • 기대하는 플로우가 어떤 건가요? (예: 목록과 비슷하게, 어떤 일이 일어나길 기대하는지 설명해 주세요.)
  • 아예 사용자 이메일 인증을 하지 않기를 기대하시는 건가요? 아니면 이중 인증이 요구되고 있다는 말씀인가요?

안녕하세요, Angus.

실제로 필터를 사용하여 이중 인증 문제를 해결했습니다. 그래서 그 부분은 이제 문제없습니다 (모든 것이 설정된 지 며칠 후에 왜 갑자기 이런 일이 발생했는지는 확신이 서지 않습니다.. 이상하네요).

하지만 다른 문제에 대해서는, 제가 기대하는 동작은 다음과 같습니다:

  • 사용자가 WordPress에서 사이트에 가입합니다.
  • 백그라운드에서 해당 사용자의 포럼 계정이 생성됩니다.

그리고:

  • 몇 주 전에 가입한 기존 사용자가 오늘 사이트에 로그인합니다.
  • 백그라운드에서 포럼 계정이 생성됩니다.

현재는 이 중 어느 것도 일어나지 않고 있습니다. 사용자가 포럼 사이트를 직접 방문하여 로그인 버튼을 클릭해야 합니다. 이는 제가 “로그인 시 Discourse 사용자 생성 또는 동기화” 체크박스를 선택하기 전과 정확히 동일한 상황입니다. 따라서 이 체크박스가 아무런 변화를 가져오지 않은 것으로 보입니다.

아, 설명해 주셔서 감사합니다. 좋습니다, 이제 계정 생성 문제에 집중해 보겠습니다. 한 가지 더 명확히 하고 싶은 부분이 있습니다. 말씀하신 내용은 다음과 같은 흐름을 기대하고 계신 건가요?

  • 사용자가 WordPress에서 사이트에 가입합니다.
  • 사용자가 WordPress에 로그인되어 있습니다(가입 후 자동으로).
  • 백그라운드에서 해당 사용자의 포럼 계정이 생성됩니다.

그리고

  • 사용자가 포럼에 접속하면 로그인된 상태로 접속합니다.

맞습니까?

만약 그렇다면, 사용자 계정 생성과 로그인 세션은 서로 다른 개념입니다. DiscourseConnect는 사용자가 WordPress에 로그인할 때 Discourse에서 사용자를 위한 로그인 세션을 자동으로 생성하지 않습니다. 안타깝게도 WordPress와 Discourse와 같은 독립적인 소프트웨어 프레임워크의 경우, SSO 솔루션은 이러한 방식으로 작동하지 않습니다. Google이나 Microsoft와 같은 플랫폼에서만 이러한 방식으로 작동합니다.

네, 그렇게 되면 완벽하겠네요.

읽어본 바로는 도메인이 다르기 때문에 자동 로그인될 수 없다고 합니다. 그 부분은 괜찮습니다.

하지만 WordPress에 가입하거나 로그인할 때 계정이 아예 생성되지 않는 것이 제 주요 문제입니다.

알겠습니다. 잠시만요. 최신 버전에서 직접 테스트를 해보고, 결과를 비교해 보겠습니다.

Shaun님, 아직 해당 문제를 재현하지 못했습니다. 데모 인스턴스에서 해당 기능을 성공적으로 사용하는 모습을 담은 영상을 첨부합니다. 다른 방식으로 진행 중이거나 다른 결과를 기대하고 있다면 알려주세요:

해결했어요!

죄송합니다. 최근 메인 계정의 사용자 이름을 변경했기 때문이었어요.

그래서 API가 실패하고 있었던 거예요. 다른 것들은 잘 작동해서 그 사실을 몰랐습니다.

시간 내어 도와주셔서 정말 감사합니다.