안녕하세요 - 이 주제에 대해 오래된 게시글을 몇 번 보았지만, 최신 정보는 찾지 못했습니다. Memberstack 포럼에도 같은 질문을 남겼습니다…
저는 새로운 비공개/폐쇄형 커뮤니티를 구축하는 프로젝트를 진행 중이며, 커뮤니티 플랫폼으로 Memberstack + Webflow와 Discourse용 SSO를 사용하는 데 관심이 있습니다. 현재 커스텀 SSO 통합을 통해 이 기능이 지원되는 것으로 알고 있습니다. 특히 Webflow 페이지에서 사용자가 인증된 상태에서 Discourse 커뮤니티 사이트로 원활하게 이동할 수 있는지 확인해야 합니다. 이것이 가능하다는 댓글과 Memberstack SSO 문서를 확인했지만, Discourse 통합과 관련된 더 구체적인 정보를 찾고 있습니다. Memberstack을 사용하여 Discourse의 SSO를 관리하는 유사한 설정을 사용하고 계신 분이 있을까요? 최대한 빨리 테스트를 해보고 싶습니다. 감사합니다.
네, 이제 지원됩니다! Memberstack는 이제 OpenID Connect 제공자로 사용할 수 있습니다: https://docs.memberstack.com/hc/en-us/articles/8161104982043-Custom-SSO-Integrations. 이를 통해 사용자는 Memberstack를 통해 Discourse 사이트에 로그인할 수 있습니다. Discourse 사이트에서 OpenID Connect가 유일한 로그인 옵션이 되도록 구성하면, Webflow 페이지에서 Discourse로 로그인하는 과정은 사용자에게 매끄러운 경험이 될 것입니다. (참고: OpenID Connect 로그인이 정상 작동하는지 확인하기 전까지 사용자 이름/비밀번호로 Discourse 사이트에 로그인하는 옵션을 제거하지 마세요.)
이것이 작동하려면 Discourse 사이트에 Discourse OpenID Connect 플러그인이 설치되어 있어야 합니다. 해당 플러그인을 구성하는 방법에 대한 자세한 내용은 여기에 있습니다: Discourse OpenID Connect (OIDC).
Discourse 사이트의 OpenID Connect 로그인을 구성하기 전에 이전에 링크한 Memberstack 문서의 영상을 시청하는 것을 권장합니다. 이 영상은 Memberstack OpenID Connect 로그인을 https://openidconnect.net/ 테스트 사이트와 함께 작동하도록 구성하는 과정을 안내합니다. 이 과정을 거친 후, Discourse에 OpenID Connect 인증을 설정하는 것은 비교적 간단한 과정이 될 것입니다.
Memberstack와 OpenID Connect 인증을 구성한 기존 Discourse 사이트가 있다면, 해당 사이트의 피드백을 듣는 것이 큰 도움이 될 것입니다.
@simon 이렇게 확인해 주셔서 정말 감사합니다! Webflow로 너무 깊이 들어가기 전에 이런 식의 확인을 받을 수 있기를 바랐거든요. 현재 파일럿 프로그램을 진행 중인데, 파일럿 기간 동안 memberstack + webflow + discourse 조합을 테스트해 보고 싶습니다. 따라서 이는 MVP를 검증하기 위한 목적이며, 장기적으로는 전혀 다른 방향으로 전환할 가능성도 충분히 있습니다(다만 Discourse는 definitely 유지할 겁니다!).
memberstack의 OpenID 지원 기능이 아직은 비교적 신규라서, 실제로 이 같은 구성을 프로덕션 환경에서 사용 중인 분이 계신지 여쭤보고 싶습니다.
안녕하세요! 이 문제에 대해 작동하는 해결책을 구현할 수 있었나요? OpenID를 사용하려면 월 300달러의 Discourse 비즈니스 계정이 필요합니다! Webflow와 Memberstack으로 말씀하신 것을 달성하기 위해 DiscourseConnect SSO를 사용하려고 했었거든요!
안녕하세요, 여러분! Memberstack 로그인을 통해 Discourse의 SSO를 성공적으로 설정했습니다! OpenID로 Discourse 포럼에 로그인하면 포럼에서 "계정을 생성하세요"라는 팝업이 뜹니다. 이게 정상적인 동작인가요, 아니면 바로 로그인되는 것이 정상인가요? Memberstack 정보로 로그인했을 때 나타나는 팝업의 스크린샷을 첨부했습니다. 미리 감사드립니다!
Simon, 정말 감사합니다! "openid_connect_authorize_scope"에 해당 항목들을 추가하니 문제가 해결되었고, "auth skip create confirm"을 활성화하니 팝업이 생략되고 바로 포럼 홈페이지로 이동합니다! "openid connect overrides email"을 활성화했는데, 이 설정은 어떤 기능을 하나요?
그리고 Discourse의 “Sign Up” 버튼이 제 웹사이트에 있는 커스텀 가입 페이지로 이동하도록 설정할 수 있는 방법이 있을까요? 현재 "Sign Up"을 클릭하면 OpenID를 통해 로그인되는데, 제 웹사이트의 특정 페이지로 링크되기를 원합니다.
네, OpenID Connect의 경우 해당 설정의 이름은 auth overrides email이 아니라 openid connect overrides email입니다. 이 설정이 활성화되면 사용자가 OpenID Connect를 통해 Discourse에 로그인할 때마다, 사용자가 OpenID Connect 인증 제공자 사이트에서 사용하는 이메일 주소 값으로 Discourse의 이메일이 설정됩니다. 즉, 사용자가 Discourse에서 이메일 주소를 변경했더라도 Memberstack에서 사용하는 이메일 주소 값으로 자동으로 재설정됩니다.
실제로 email editable 사이트 설정을 비활성화하면 이메일이 인증 제공자와 동기화되지 않는 문제를 방지할 수 있습니다. 따라서 email editable을 비활성화하고 openid connect overrides email을 활성화하면, 사용자는 Memberstack에서 이메일 주소를 변경한 다음 Memberstack을 통해 Discourse에 로그인해야만 이메일 주소를 변경할 수 있게 됩니다.
그렇지는 않을 것 같습니다. 누군가 Discourse의 “Sign Up” 버튼을 클릭하면, Discourse는 Memberstack에서 제공하는 authorization_endpoint로 해당 사용자를 리디렉션합니다. Memberstack에서 이 부분을 설정할 수 있도록 허용하고 있을 수도 있지만, 확인하려면 해당 회사에 문의해야 합니다.
다른 가능한 접근 방식으로는 Discourse 헤더에 해당 페이지로 가는 링크를 추가하는 방법이 있습니다. 이 테마 컴포넌트를 사용하여 가능할 수 있습니다: Custom Header Links. 이상적으로는 몇 가지 CSS를 사용하여 로그인한 사용자에게는 이 링크를 숨길 수 있을 것입니다.
@ryanshah112 저는 POC로 이 기능을 구현할 수 있었습니다(@simon님의 큰 도움 덕분에). 하지만 MS 구성을 사용하는 것을 포기했고, 프로젝트를 몇 달간 중단했습니다. 이제 다시 시작해야 합니다. MS의 openID 통합이 그렇게 잘 작동하지 않는다는 것을 발견했습니다. 첫째, 이중 로그인 문제가 있어 온보딩 플로우가 이상적이지 않았습니다. 앱에 대한 승인만 요구하는 것이 아니라 사용자가 로그인하도록 요구하기 때문입니다. 저는 웹플로우 사이트에서 사용자가 로그인한 후 디스코르스로 원활하게 이동할 수 있는 맞춤형 온보딩 플로우를 구성하고 싶었습니다. 폼, Zapier, Airtable을 사용하여 API를 통해 디스코르스 사용자를 생성함으로써 이 기능을 구현했습니다. POC로서는 꽤 멋진 결과였지만, 프로덕션 시스템으로 사용하기에는 적합하지 않았습니다. 다시 시작할 때 MS를 IDP로 의존하기보다는 Wized와 Supabase 같은 도구를 사용하여 구축할 가능성이 높습니다. 일부 제한 사항에 문제가 없다면 MS + Discourse 조합은 잘 작동할 수 있다고 생각합니다.
Discourse 쪽에서 OpenID Connect를 설정하는 방법은 여기에서 관련 정보를 찾을 수 있습니다: Discourse OpenID Connect (OIDC). 그 주제에서 언급되지 않은 Memberstack에 특정한 세부 사항이 하나 있는데, Discourse의 openid_connect_authorize_scope 사이트 설정을 다음과 같이 설정해야 한다고 생각합니다:
리버, 안녕하세요! 시몬의 의견에 동의합니다. DiscourseConnect를 사용할 수 없으며, 대신 OpenID를 사용해야 합니다. OpenID를 통해 Memberstack과 Discourse를 구성하는 데 도움이 필요하시면 기꺼이 도와드리겠습니다. 시몬의 도움으로 이 설정을 성공적으로 완료한 경험이 있습니다. Discourse 호스팅을 통해 진행하시려면 “Business” 플랜이 필요합니다.
@ryanshah112 와 @river - 참고로, 이 스레드를 시작할 때 Webflow를 사용해야 하는 엄격한 요구사항이 있었습니다. Memberstack은 OpenID를 통한 SSO를 위한 유일한 현실적인 옵션이었으며, 약 6개월 동안 살펴보지 않아 상황이 개선되었을 수도 있습니다. 하지만 WordPress를 고려할 의사가 있다면 DiscourseConnect에는 많은 이점이 있습니다.
Ryan - 테스트를 위해 Business 플랜으로 시작했지만, OpenID를 제외하고 POC에 “business” 수준의 패키징/기능이 실제로 필요하지 않아 몇 달 후 Self hosted로 전환했습니다. 필요에 따라 이를 고려해 보시길 권하며, 설정 도움이 필요하시면 @pfaffman을 추천합니다. 매우 쉽습니다.