WP Discourseプラグインが不審な挙動

Discourse で新しい投稿をすると新しいトピックが作成されますが、会話を開始するためのリンクが表示されず、代わりに

この投稿へのコメントは現在利用できません。

というメッセージが表示されます。

プラグインに移動しても同じエラーが表示されますが、少なくともトピックが作成されているため、接続はされているはずです。

Discourse に接続されていません。プラグインのセットアップ中の場合は、このページのフォームに入力を完了すると、この通知は消えます。

Discourse でもこれに気づきました

非推奨の認証方法を使用した API リクエストが検出されました。ヘッダーベースの認証 を使用するように更新してください。

最近、wp-discourseを更新しましたか?

はい、すべて最新バージョンに更新されていると思います…

ブログ投稿でもこれに気づきました

カテゴリリストの取得中にエラーが発生しました

プラグインを無効化し、ウェブフック(緑色になっています)を再作成し、新しい API キーを生成しましたが、効果はありませんでした。

2.4.0.beta7

(58b5d1434b)

WordPress 5.3

プラグイン 1.9.7

昨日 WordPress を 5.3 にアップグレードする前は、動作していましたか?

WP Discourse プラグインがこの警告を引き起こすことはありません。プラグインからのすべての API リクエストはヘッダーベースの認証を使用しています。いずれにせよ、これは単なる非推奨通知です。URL パラメータによる API リクエストの認証は、近い将来も引き続き機能します。

プラグインの「公開ユーザー名」設定に入力されているユーザーが Discourse でまだ有効かどうかを確認してください。そのためには、ユーザーの管理ページに移動し、権限セクションの「アクティブ化」行を確認してください。「アクティブ化」が「いいえ」に設定されている場合は、「アカウントをアクティブ化」ボタンをクリックしてください。

以前は動作していましたが、アップグレード前でしたので、この二つが関連しているとは言い切れません。

それは私が持っている唯一の API リクエスト関連のものです…しかし、ユーザーが無効化されていました…それで解決しました。本当にありがとうございます。ふむ、なぜそんなことが起きたのでしょう。本当にありがとうございます。

その通知は、プラグインをバージョン 1.9.7 に更新する前に作成された可能性があります。現在のプラグインバージョンによってその通知が生成されていないか、引き続き確認いたします。

これは、Discourse のサイト設定「管理者の無効なメールアドレスを日数後に無効化する」に関連していると思われます。API 接続のみに使用されるアカウントに影響を与える可能性のある最近の変更が行われました。この問題は、最近のアップデートで修正されたと考えられます。

参考までに、このユーザーが再度無効化されました。ただし、私は現在 Discourse の最新バージョンに更新しています。

無効化されましたが、再度有効化され、Discourse の最新バージョンに更新されました。

ユーザーが再度無効化されたのはおかしいようです。私の理解では、「Activate」ボタンをクリックしてユーザーを再有効化すると、「invalidate inactive admin email after days」サイト設定で指定された日数分、ユーザーは有効な状態に保たれるはずです。その設定がデフォルト値の 365 日に設定されているか、もう一度確認してください。また、ユーザーが再度無効化された場合は、お知らせください。

その設定が365になっていることを確認しました。アカウントが再び非アクティブになっているのを確認し、再度アクティブ化してDiscourseを更新しました。

現在、非アクティブな管理者アカウントを無効化するコードを確認しています。一つ注意点として、invalidate inactive admin email after days(非アクティブな管理者のメールを無効化するまでの日数)を 0 に設定することで、非アクティブな管理者アカウントのメールが無効化されることを回避できます。ただし、これは理想的な解決策だとは思いません。

管理者のメールアドレスは、管理者ユーザーの API キーが invalidate inactive admin email after days 設定で指定された期間内に使用されていれば、無効化されるべきではありません。WordPress 側では、無効化されつつある管理者アカウントを「公開ユーザー名」として設定しているが、API キーには「全ユーザー API キー」を使用している可能性はありませんか?もしそうであれば、管理者アカウントが繰り返し無効化されるのは理にかなっています。

WordPress 上で「全ユーザー API キー」を使用しない特別な理由がない限り、WP Discourse の接続設定で指定されている値を変更し、「全ユーザー API キー」とシステムユーザーのユーザー名を使用するように変更することをお勧めします。このユーザー名のデフォルト値は ‘system’ です。