SSO、無効化された古いアカウント

Discourse インスタンスをホストしていたサーバーが完全にダウンし、手元にあるのはかなり古い Discourse のバックアップのみです。
復元したインスタンスは Drupal と SSO で連携しています。

質問:最後のバックアップから現在までの間に、Drupal 側で複数のユーザーが無効化されました。そのため、それらのユーザーは Discourse に再接続できなくなるはずです(と思います)。
では、メール通知についてはどうでしょうか?すでに、元ユーザーの一部が通知を受け取ってしまったと聞いています。Discourse 側で、これ以上通知を受け取ってはいけないユーザーを自動的に認識させる方法はありますか?手動でユーザーリストを一つ一つ確認するのは避けたいので :slight_smile:

Drupal が API を使用して、該当するユーザーを無効化することも可能です。または、リストを生成して Rails コンソールから無効化することもできます。

良さそうですね。その方法について何かヒントはありますか?

API 呼び出しを確認するには、Reverse engineer the Discourse API をご覧ください。また、SSO に関するトピックには、SSO マスターがアカウントを無効化する方法についての情報も含まれています。ただし、あなたの場合、アカウントはすでに無効化されているため、何らかの方法でそれらのリストを取得し、その後、以下のような処理を行う必要があるでしょう。

 Users.where(何らかの方法でユーザーを取得).update_all(active: false)

(これは正確ではありませんが、基本的な考え方はこのようなものです。)

緊急の場合で予算がある場合は、プロフィールに連絡先情報を記載しています。

ありがとうございます。ただ、主に質問したかったのは、このようなこと(アクティブなユーザーの同期)を処理するための標準的な SSO の仕組み、プロセス、エンドポイント、または呼び出しがあるかどうかです。

どうやらないようですね :slight_smile:

自分で実装してみます。

はい、あります。wp-discourse プラグイン内にあるかもしれませんが、最も簡単な方法は、開発者ツールを開いた状態でアカウントを無効化し、どのような呼び出しが行われるかを確認することです。