해당 모듈에 문서가 있나요? SSO를 활성화하는 일반적인 과정은 SSO 엔드포인트를 Discourse의 sso url 사이트 설정에 추가하고, SSO 시크릿 키를 sso secret 사이트 설정에 추가한 후, enable sso 사이트 설정을 활성화하는 것입니다. 처음 설정할 때는 verbose sso logging 사이트 설정도 활성화하는 것이 좋습니다. 이 설정이 활성화되면 사이트의 에러 로그(Admin / Logs / Error Logs에서 확인 가능)에서 SSO 오류에 대한 세부 정보를 확인할 수 있습니다.
Discourse 설정을 활성화한 후에는 Discourse 사이트의 URL과 sso secret이 SSO 제공업체 사이트에 추가되었는지 확인해야 합니다.
현재 발생하는 오류를 보면, Discourse 사이트에서 enable sso 사이트 설정이 활성화되지 않은 것으로 보입니다.
SSO를 활성화한 후 Discourse 사이트에 액세스하는 데 문제가 발생하면, 관리자로서 /u/admin-login으로 이동하여 SSO 로그인을 우회할 수 있습니다. 해당 페이지의 양식에 관리자 이메일 주소를 입력하면 일회용 로그인 링크가 전송됩니다.
로그 항목을 확인해 보았지만, 오류가 표시되지 않습니다. 이는 Discourse에서 SSO 프로세스가 시작된 시점의 로그 항목일 뿐입니다. 오류가 표시되는 별도의 로그 항목이 그 직후에 생성되어야 합니다. 해당 프로세스를 다시 한 번 시도해 볼 수 있을까요? 각 로그인 시도마다 Verbose SSO 로그 항목이 생성되어야 합니다. 첫 번째 항목은 Discourse에서 프로세스가 시작되었음을 나타내고, 두 번째 항목은 Discourse가 사용자의 웹사이트에서 받은 응답을 어떻게 처리했는지에 관한 것입니다.
Verbose SSO log 텍스트로 시작하지 않는 다른 관련 오류 메시지가 있을 수도 있습니다. SSO 요청을 한 시점 전후의 로그 항목을 확인해 보세요.
네, 그렇게 보입니다. 브라우저의 웹 검사기를 열어 ‘Network’ 탭으로 이동하면 어떤 요청들이 보내지고 있는지 확인해 볼 수 있습니다. 해당 탭에서 ‘로그 유지(Preserve Logs)’ 옵션을 선택한 뒤, Discourse 사이트의 로그인 링크를 클릭해 보세요.
Discourse 로그아웃이 SSO 제공자 사이트의 로그아웃과 동기화되지 않는 것으로 보입니다. SSO 제공자 사이트에는 여전히 로그인된 상태이므로, 다음에 Discourse 로그인 링크를 클릭하면 SSO 제공자에 로그인되어 있다는 근거로 인증이 처리됩니다.
Discourse의 logout redirect 사이트 설정을 사용하면 SSO 제공자 사이트에서 사용자를 로그아웃시킬 수 있습니다. 사용자가 Discourse에서 로그아웃하면 해당 URL로 자동으로 리디렉션됩니다. SSO 제공자는 사용자를 로그아웃하기 위해 해당 URL을 처리해야 합니다. Drupal에 대해 충분히 숙지하지 않아 이를 구현하기 위해 어떤 작업이 필요한지는 알 수 없습니다.