안녕하세요,
문제
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가 처리할 수 있는 상황인 것 같습니다. 제 생각이 틀렸나요?
이 동작을 수정할 수 있는 방법이 있을까요? 놓치고 있는 것이 있을까요?
감사합니다!