Сервер, на котором размещается наш экземпляр Discourse, полностью вышел из строя, и у нас есть только довольно старая резервная копия Discourse.
Восстановленный экземпляр использует SSO с Drupal.
Вопрос: с момента последнего резервного копирования и до настоящего времени несколько пользователей были деактивированы в Drupal, поэтому они, как я предполагаю, не смогут правильно подключиться к Discourse.
Но как насчет уведомлений по электронной почте? Нам уже сообщили, что некоторые бывшие пользователи получили некоторые уведомления. Есть ли способ автоматически заставить Discourse понять, какие пользователи больше не должны получать их? Я бы очень не хотел вручную проходить по списку пользователей
Вы можете настроить Drupal так, чтобы он использовал API для деактивации этих пользователей. Или сгенерировать список и деактивировать их через консоль Rails.
Чтобы найти вызовы API, ознакомьтесь с материалом по адресу Reverse engineer the Discourse API. Кроме того, темы, посвящённые SSO, содержат информацию о том, как отключить учётные записи с помощью мастер-учётной записи SSO. В вашем случае учётные записи уже отключены, поэтому, вероятно, вам понадобится каким-то образом получить их список и затем выполнить что-то вроде:
Users.where(как-то получить пользователей).update_all(active: false)
(Это не совсем точно, но суть именно в этом.)
Если ситуация экстренная и у вас есть бюджет, мои контактные данные указаны в моём профиле.
Спасибо, но я в основном спрашивал, есть ли стандартный механизм/процесс/эндпоинт/вызов для SSO, чтобы обрабатывать подобные задачи (синхронизация активных пользователей).
Это так. Скорее всего, вы найдёте это в плагине wp-discourse, но самый простой способ — отключить учётную запись с открытыми инструментами разработчика и посмотреть, какой запрос она отправляет.