SSO, 비활성화된 기존 계정

우리의 Discourse 인스턴스를 호스팅하던 서버가 완전히 고장 났고, 현재 가지고 있는 Discourse 백업은 꽤 오래된 것입니다.
복원한 인스턴스는 Drupal과 SSO를 사용하고 있습니다.

질문: 마지막 백업 시점부터 현재까지 여러 사용자가 Drupal에서 비활성화되었으므로, 이들은 Discourse에 다시 연결할 수 없을 것입니다(제 추측입니다).
하지만 이메일 알림은 어떻게 되나요? 이미 일부 전직 사용자들에게 알림이 발송되었다는 통보를 받았습니다. 더 이상 알림을 받지 않아야 할 사용자를 Discourse가 자동으로 인식하게 하는 방법이 있을까요? 사용자 목록을 수동으로 하나씩 확인하고 싶지는 않습니다 :slight_smile:

Drupal이 API를 사용하여 해당 사용자를 비활성화하도록 할 수 있습니다. 또는 목록을 생성한 후 Rails 콘솔에서 비활성화할 수도 있습니다.

좋습니다. 어떻게 해야 하는지 힌트를 주실 수 있나요?

API 호출을 확인하려면 https://meta.discourse.org/t/how-to-reverse-engineer-the-discourse-api/20576을 참고하세요. 또한 SSO에 관한 주제들에서 SSO 마스터가 계정을 비활성화하는 방법에 대한 정보를 얻을 수 있습니다. 다만, 사용자의 경우 계정이 이미 비활성화되어 있으므로, 해당 계정 목록을 어떻게든 가져온 다음 다음과 같은 작업을 수행해야 할 것입니다.

 Users.where(사용자 가져오는 방법).update_all(active: false)

(이것은 정확히 올바른 코드는 아니지만, 대략적인 아이디어는 이렇습니다.)

긴급한 상황이고 예산이 있다면, 제 프로필에 연락처 정보가 있습니다.

감사합니다. 하지만 주로 이런 일(활성 사용자 동기화)을 처리하는 표준 SSO 방식/프로세스/엔드포인트/호출이 있는지 물어본 거예요.

아마도 그런 건 없는 것 같네요 :slight_smile:

직접 만들어 보겠습니다.

있습니다. wp-discourse 플러그인에서 찾을 수 있을 가능성이 높지만, 가장 쉬운 방법은 개발자 도구를 켜둔 상태로 계정을 비활성화하고 어떤 호출이 발생하는지 확인하는 것입니다.