Discourse API를 사용하여 커뮤니티를 구축하고자 합니다. 현재 플로우에서 문제가 발생하고 있습니다.
저희 프론트엔드는 React 앱이고, 백엔드는 MS 아키텍처 기반의 NodeJS로 구성되어 있습니다. 모든 인증 플로우를 저희 측에서 관리하고 있습니다.
제가 이해한 Discourse Connect의 동작 방식은 다음과 같습니다.
-
FE가 nonce와 사용자 정보를 포함한 페이로드를 생성한 후 example.com/session/SSO ?sso=xx&sig=xx에 호출을 보냅니다.
-
Discourse가 discourse_connect_url로 콜백을 보내며, 여기서 페이로드를 검증한 후 리다이렉트 URL을 반환하고 사용자가 Discourse로 리다이렉트됩니다.
하지만 사용자 정보를 포함하여 페이로드를 생성할 때, 이 정보를 Front End에서 Discourse로, 그리고 다시 Backend로 전달(propagate)하는 데 실패하고 있습니다. 누군가 도움을 주실 수 있거나, 제 이해가 올바른지 확인해 주실 수 있을까요? 포럼에서도 예상되는 해결책을 검색해 보았지만 해결책을 찾지 못했습니다.
참고로, BE에서 사용자 정보를 하드코딩하면 Discourse에 로그인하는 것은 가능합니다.
저희 웹사이트를 Discourse의 인증 제공자(Authentication Provider)로 설정하고, 사용자 정보를 Front End에서 BE로 전달하는 것이 목표입니다. 플로우에 대한 도움이나 JavaScript에 대한 예시를 주실 수 있을까요?