네, 저희 WordPress 플러그인에는 이와 유사한 기능을 수행하는 옵션이 있습니다. 작동 방식은 다음과 같습니다. 사용자가 WordPress 계정을 생성하거나 WordPress 사이트에 로그인할 때 Discourse의 /admin/users/sync_sso 라우트로 호출이 이루어집니다. 사용자가 아직 Discourse에 존재하지 않는 경우, 이 호출을 통해 Discourse 사용자를 생성합니다. 사용자가 이미 Discourse에 존재하는 경우, 이 호출을 사용하여 SSO 제공자 사이트에서 변경된 사용자 세부 정보를 업데이트할 수 있습니다. 예를 들어, 사용자의 이름, 사용자 이름 또는 이메일 주소를 업데이트하는 데 사용할 수 있습니다. 또한 사용자를 Discourse 그룹에 추가하거나 제거하는 데도 사용할 수 있습니다.
제가 인지하고 있는 유일한 단점은 SSO 코드에 일부 복잡성이 추가된다는 점입니다. WordPress 플러그인에서 구현된 방식으로는, 사용자가 SSO 제공자 사이트에 로그인할 때마다 Discourse로 API 호출이 추가됩니다. 이는 WordPress 로그인 이벤트에 연결되어 있기 때문입니다. 이 API 호출이 어떤 사이트에서든 속도 제한(rate limit) 문제를 일으킨다는 사실은 인지하지 못하고 있지만, 만약 문제가 발생한다면 새 계정 생성 시에만 호출을 수행하도록 설정할 수 있습니다.
이 방식의 장점은 사용자가 Discourse에 SSO를 통해 로그인하지 않아도 사용자 세부 정보를 업데이트할 수 있다는 것입니다. 예를 들어, 사용자가 웹사이트에서 특정 작업을 수행할 때 사용자를 Discourse 그룹에 추가할 수 있습니다.
웹사이트를 SSO를 통해 Discourse와 통합하는 또 다른 방법은 웹사이트에 SSO 로그인 링크를 사용하는 것입니다. 이를 통해 웹사이트에서 Discourse 포럼으로 사용자를 로그인시키고 특정 페이지로 이동시킬 수 있습니다. 설정 방법에 대한 자세한 내용은 이 토픽을 참고하세요: SSO 로그인 링크 만들기.