Create a DiscourseConnect login link

제 생각에는 https://forum.example.com/session/sso?return_path=/t/some-slug/23과 같은 라우트를 방문할 때, Discourse에 로그인되어 있든 아니든 관계없이 discourse connect url로 리다이렉트되는 것 같습니다. 이 동작은 다음 코드에서 발생합니다:

이후 SSO 제공 사이트에서는 이미 해당 사이트에 로그인된 사용자의 경우를 처리할 것으로 기대됩니다. WP Discourse 플러그인이 이를 처리하는 방식은 다음과 같습니다:

해당 코드(else 문 이후 부분)는 이미 WordPress에 로그인된 사용자의 경우를 처리합니다. 사용자는 return_path 쿼리 파라미터로 전달된 URL로 다시 리다이렉트됩니다. 따라서 사용자의 관점에서는 반환 경로 URL로 직접 이동하는 것처럼 보이지만, 실제로는 SSO 제공 사이트로 리다이렉트된 후 다시 Discourse로 돌아오는 과정이 이루어집니다.

제 생각에는 여러분 사이트의 문제가 SSO 코드가 이미 사이트에 로그인된 사용자의 경우를 처리하지 않고 있기 때문일 수 있습니다.

현재 저는 이를 테스트할 수 있는 환경이 갖춰져 있지 않습니다. 코드를 잘못 읽었을 수도 있습니다. 코드를 보기 전에는 Discourse 측에서 사용자가 이미 로그인되어 있는지 확인하는 체크가 수행된다고 생각했지만, 실제로는 그렇게 작동하지 않는 것 같습니다.

3개의 좋아요