Discourse SSO 제공자 및 소셜 가입 관련 문제

안녕하세요,

문제

Discourse를 API를 통해 SSO 제공자로 사용(도메인 A)하면서, 소셜 버튼을 사용하여 Discourse(도메인 B)에 가입을 시도하면 create-account 모달이 즉시 표시되지 않고 대신 login 모달로 돌아갑니다.

이 시점에서 login 모달을 닫고 Sign Up 버튼을 클릭해야 원래 보았어야 할 create-account 모달이 나타납니다.

문제 데모

간단한 동영상 데모입니다:

  • Edge 브라우저, 캐시/쿠키 정리 및 확장 프로그램 없음.
  • Discourse를 SSO 제공자로 사용하도록 설정된 WP-Discourse 사용 (문제를 가장 빠르게 보여줄 수 있는 방법)

가장 먼저 보이는 것은 WP-Discourse SSO 로그인 링크를 클릭하는 것입니다.
Facebook 버튼을 클릭한 후 create-account가 아닌 login 모달로 리다이렉트됩니다.

가능한 원인

Discourse와 API가 호출되는 위치를 위해 다른 도메인을 사용하고 있습니다.

문제가 플러그인 등 다른 요인 때문이 아님을 확인하기 위해, Discourse를 SSO 제공자로 사용하도록 설정된 WP-Discourse와 함께 깨끗한 WordPress 환경, 그리고 깨끗한 Discourse 환경에서 재현할 수 있었습니다. 두 환경 모두 다른 도메인에서 실행되었습니다.

(참고: 이는 wp-discourse와 관련이 없으며, 단순히 문제를 보여주고 테스트하기가 더 쉽기 때문입니다. 또한 Discourse API를 소비하고 SSO 제공자로 사용하는 우리의 앱에서도 재현할 수 있습니다).

기타 정보

  • Discourse 보안 설정 비활성화 (영향이 있는지 불분명, CSP 비활성화, 쿠키를 None 또는 Disabled로 설정).
  • Discourse 최신 버전
  • SSO로 로그인할 때는 문제 없음
  • 브라우저 콘솔이나 Discourse 로그에 아무것도 없음
  • SSO API로 문제를 한 번 경험한 후 Discourse에서 직접 소셜 가입을 시도하면 동일한 문제가 발생합니다. 이 시점에서 작동하려면 쿠키/캐시를 지워야 합니다. (동일한 문제가 여기에도 보고되었습니다: Suggestion: unite the sign up & log in buttons)

Sign Up을 수동으로 클릭한 후 입력된 필드가 포함된 기대하는 create-modal을 Discourse가 표시할 수 있으므로, 이는 버그이거나 Discourse가 처리할 수 있는 상황인 것 같습니다. 제 생각이 틀렸나요?

이 동작을 수정할 수 있는 방법이 있을까요? 놓치고 있는 것이 있을까요?

감사합니다!

이 버그가 또 무시될 정도로 중요하지 않나요?

1월에 비슷한 문제를 보고한 적이 있었는데, 여기에는 바닐라 디스커스와 공식 SSO 구현 외에는 아무것도 없는 최소한의 재현 사례를 확인할 수 있습니다. 적어도 누군가가 버그가 존재한다는 것을 인정해 주거나, 우리가 잘못하고 있는 것이 무엇인지 알려주기를 바랍니다.

이 문제에 대한 관심을 어떻게 끌 수 있을까요? 예산이 문제라면 팀원을 고용하는 것이 가능한가요?

– 좌절한 클라이언트이자 개발자.

안녕하세요, 기본 WordPress 설치 환경에서 wp-discourse를 설정하고, WP를 SSO 클라이언트로 설정했으며, Discourse에서 Facebook 로그인을 구성했습니다. 두 웹사이트는 서로 다른 도메인에 호스팅되어 있습니다.

수일에서 수주 동안 두 웹사이트를 공개 상태로 두어, Facebook 계정이 있는 누구나 문제를 직접 테스트하고 확인할 수 있도록 하겠습니다.

수정: 개발용 discourse를 삭제했지만, 어쨌든 arkshine의 영상에서와 정확히 동일한 동작을 하고 있었습니다.

"Facebook으로 로그인"을 클릭하면 “새 계정 만들기” 팝업이 미리 채워진 필드와 함께 표시되는 대신, 동일한 팝업이 다시 나타나는 것을 확인하실 수 있습니다.