안녕하세요,
저희는 Drupal의 SSO를 사용 중인데, 의도하지 않은 동작이 발생하고 있습니다. 현재 사용자의 세션과 별도로 모든 사용자가 저희 Drupal 서버에 로그인된 것으로 표시됩니다. 이로 인해 커뮤니티 내에서 다른 기기에 로그인된 것으로 보인다는 점을 본인 계정으로 인식하지 못해 많은 우려와 혼란이 생기고 있습니다.
이 기능을 비활성화할 수 있는지, 아니면 특정 IP를 제외하여 최근 사용된 기기 목록에서 저희 서버를 숨길 수 있는지 알려 주실 수 있을까요?
Drupal 개발자에게 문의하시는 것을 추천드립니다. 해당 모듈의 마지막 업데이트가 2015년으로 보이며, 지원되는 Discourse 버전은 1.2.0.beta5(2015년 1월에 출시됨)로 명시되어 있습니다. 여전히 작동하는 것을 보니 다행이지만, 일부 사소한 문제가 있는 것은 놀라운 일이 아닙니다.
Drupal Discourse 모듈을 간단히 살펴봤습니다. 문제가 발생하는 원인은 명확하지 않지만, SSO 로그인 시 User Agent와 Client IP가 사용자의 값이 아니라 Drupal 서버의 값으로 설정되고 있습니다. 이는 drupal_goto 메서드의 동작 방식과 관련이 있을 수 있습니다.
모듈에서 발견한 한 가지 사항은, Drupal에서 Discourse 콘텐츠를 표시하기 위한 일부 기능을 제공한다는 것입니다. 이를 위해 쿼리 문자열에 API 자격 증명을 포함하여 Discourse에 API 요청을 보내고 있습니다. 이러한 유형의 API 인증은 Discourse에서 비추천(deprecated)되었습니다. 가까운 시일 내에 이러한 유형의 요청이 더 이상 작동하지 않게 될 것입니다. Drupal 사이트에서 Discourse 콘텐츠를 표시하기 위해 이 모듈을 사용 중이라면, 이 문제에 대해 좀 더 자세히 살펴볼 필요가 있을 수 있습니다.
이 모듈은 2015년에 마지막으로 업데이트되었습니다. 최근 업데이트된 Drupal Discourse SSO 모듈이 있습니다: Client Challenge. 이 모듈은 SSO 기능만 제공하는 것으로 보입니다. Drupal 사이트에 Discourse 콘텐츠를 추가하는 코드는 없는 것 같습니다.