kenshin79it
(Massimo Redaelli)
2019 年 9 月 25 日午前 11:50
1
Discourse インスタンスをホストしていたサーバーが完全にダウンし、手元にあるのはかなり古い Discourse のバックアップのみです。
復元したインスタンスは Drupal と SSO で連携しています。
質問:最後のバックアップから現在までの間に、Drupal 側で複数のユーザーが無効化されました。そのため、それらのユーザーは Discourse に再接続できなくなるはずです(と思います)。
では、メール通知についてはどうでしょうか?すでに、元ユーザーの一部が通知を受け取ってしまったと聞いています。Discourse 側で、これ以上通知を受け取ってはいけないユーザーを自動的に認識させる方法はありますか?手動でユーザーリストを一つ一つ確認するのは避けたいので
pfaffman
(Jay Pfaffman)
2019 年 9 月 25 日午後 12:45
2
Drupal が API を使用して、該当するユーザーを無効化することも可能です。または、リストを生成して Rails コンソールから無効化することもできます。
kenshin79it
(Massimo Redaelli)
2019 年 9 月 25 日午後 12:47
3
良さそうですね。その方法について何かヒントはありますか?
pfaffman
(Jay Pfaffman)
2019 年 9 月 25 日午後 2:57
4
API 呼び出しを確認するには、Reverse engineer the Discourse API をご覧ください。また、SSO に関するトピックには、SSO マスターがアカウントを無効化する方法についての情報も含まれています。ただし、あなたの場合、アカウントはすでに無効化されているため、何らかの方法でそれらのリストを取得し、その後、以下のような処理を行う必要があるでしょう。
Users.where(何らかの方法でユーザーを取得).update_all(active: false)
(これは正確ではありませんが、基本的な考え方はこのようなものです。)
緊急の場合で予算がある場合は、プロフィールに連絡先情報を記載しています。
kenshin79it
(Massimo Redaelli)
2019 年 9 月 25 日午後 3:36
5
ありがとうございます。ただ、主に質問したかったのは、このようなこと(アクティブなユーザーの同期)を処理するための標準的な SSO の仕組み、プロセス、エンドポイント、または呼び出しがあるかどうかです。
どうやらないようですね
自分で実装してみます。
pfaffman
(Jay Pfaffman)
2019 年 9 月 25 日午後 4:05
6
はい、あります。wp-discourse プラグイン内にあるかもしれませんが、最も簡単な方法は、開発者ツールを開いた状態でアカウントを無効化し、どのような呼び出しが行われるかを確認することです。