こんにちは!このエラーの解決にぜひご協力ください。
再現手順:
ユーザーが設定のDiscord「接続」ボタンをクリックすると、
正しくDiscordの認証ページにリダイレクトされます。
しかし、承認ボタンをクリックした後、ユーザーはリダイレクトされ、フォーラムでこのメッセージが表示されます。

そして、このトピックの先頭のエラーが管理者ログに表示されます。
これを修正するために、読んだり試したりできることはすべて試したと思いますが、まだ発生しています。DiscordのクライアントIDとシークレットサイト設定が正しいことを確認しました。
また、URIが正しい構文であることを確認しました(関連トピックをいくつか見たことがあります)。
何か提案はありますか?確信がなくても、何でも試すつもりです 
nginx と/またはキャッシュの問題に絞り込んだ(?)と考えています。discourse.conf で定義されているはずの、見落としている可能性のある認証固有または CSRF 固有の設定はありますか?
@merefield、@david、@sam - お呼び立てして申し訳ありませんが、過去のCSRF関連の議論で皆様のお名前を多く見かけました。この件について何かおすすめはありますでしょうか? Discord認証はDiscourseに統合されているため、何が原因でこうなっているのか見当もつきません。
どんなご協力でも事前に感謝いたします。ありがとうございます 
壊れているのは、これらのいずれかでしょうか?
まだパターンが見つかりません。時々機能して正しく接続されますが、他の時はcsrfページが表示されます。
現時点では、verified_request?の最後の条件チェックが最も疑わしいです。
(valid_request_origin? && any_authenticity_token_valid?)がtrueを返しているかどうかを簡単に確認する方法はありますか?
デバッグ可能な情報が一切なく申し訳ありませんが、(少なくとも私が思う)問題点を見つけ出すことができました。まだ修正方法がわからないので、以下をお読みください 
下の画像は、アカウントを正常にリンクできた直後に、リフレッシュしてもう一度試したところ、CSRF検出ページにヒットしてしまった状況を連続して示しています。インコグニトウィンドウで、正常な接続とCSRFエラーの間で文字通り何も変更・操作していません。見つけたのは以下の通りです。
この最初の画像は、正常な接続につながった1番目と2番目のリクエストヘッダーで _forum_session クッキーが一致していることを示しています。
しかし、ページをリロードしてもう一度試した(そして接続に失敗した)後、左側の検索結果では、失敗につながったリクエストヘッダーに _forum_session クッキーが1回しか出現していないことがわかります。
要約:問題は、discord?reconnect リクエストヘッダーの forum_session クッキーと、それに続く callback? リクエストヘッダーが一致しないことから生じていると確信しています。なぜそれらが異なる値になるのでしょうか?
わかりました、近づいてきました。\n\n下の画像では、discord?reconnect POST リクエストの直後に update POST リクエストが発生しているのがわかります。\n
\n\n—\n\nそして、案の定、_forum_session クッキーが設定され、上記のように不一致が発生しています。\n\n
\n\n正常な接続インスタンス(下記)を確認すると、update は discord?reconnect POST リクエストの
前にのみ発生していることがわかります。\n\n
\n\nこれにより、_forum_session クッキーが一致し、csrf 問題なしでアカウントを正常に接続できます。\n\n\n
ユーザーが接続プロセスを開始した後、その update が発生するのを防ぐにはどうすればよいですか?
@FerrariFlunker 返信が遅くなり申し訳ありません。確認する時間がありませんでした。コアチームが対応してくれると素晴らしいのですが。
慰めになるかわかりませんが、再現できました。おそらく同じエラーが発生していると思います。
(discord) Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected
ご心配なく @merefield、ご返信ありがとうございます!
ご自身の環境でもそのエラーは発生していますか? いずれにしても、このエラーはコアチームが調査する必要があると思います。私はこのデバッグに2週間以上費やしていますが、まだ答えが見つかっていません 
「いいね!」 1
david
(David Taylor)
12
素晴らしい調査です!このような競合状態は、あなたが遭遇している問題の原因となる可能性があります。
とはいえ、この問題に関する他の報告は受けていないため、あなたのサイト/構成に固有の問題である可能性が高いです。サイトにインストールされているプラグインは何ですか?「update」呼び出しを開いて、どのようなペイロードが送信されているか確認できますか?
「いいね!」 3
updateコールを確認したところ、おっしゃる通りだと思います。CSRFエラーを引き起こした確認済みの「update」リクエストのスクリーンショットを以下に示します。
CDNに関連するパターンが見られます:face_with_monocle:。それはどのように設定ミスしているのでしょうか?もしプラグインのリストが必要でしたらお知らせください。+1枚の画像で返信を節約しようと思いました 
「いいね!」 1
エキサイティングなアップデートがあります!数日前、「update」ペイロードを詳しく調べたところ、これを正常に関連付けることができました。
プラグインの1つと!

プラグインを無効にし、さらにテストを行い、関連する機能をコミュニティに正常にリリースした後…犯人を見つけたと自信を持って言えると思います。
このプラグインが問題の原因であることが判明しました:GitHub - discourse/discourse-chat: Chat inside Discourse
今思えば、これが原因であることは理にかなっています。プラグインはまだ実験的なものとしてマークされており、本番サイト向けではありません。 
この問題の診断に3週間以上費やしており、コミュニティの他のプロジェクトに戻る必要があるため
、残念ながら、discourse-chatプラグインの修正を見つけるお手伝いはできません。
誰かがプラグインに修正をプッシュした場合、私たちは(おそらく
)サイトでプラグインを再度有効にすることを検討しますが、現時点では安定した関連アカウントのConnect機能が必要です。
診断に協力してくれたすべての人に改めて感謝します! 
「いいね!」 2
david
(David Taylor)
17
詳細な調査ありがとうございます、@FerrariFlunker!
Discourseコアに修正のプルリクエストを作成しました。
チャットプラグインを削除した後に修正された理由は、チャットがこの「PresenceChannel」APIを多用しており、問題が発生する可能性がはるかに高いためです。チャットに変更が必要になるとは思いません。
「いいね!」 4
これでGoogleログインの問題も同様に解決されるはずですか?チャットプラグインをテストしていたインスタンスのユーザーはそれを気に入っていましたが、Discordログインと同じエラーでGoogleログインが壊れてしまいました。
「いいね!」 5
david
(David Taylor)
19
はい、この修正はすべての異なるログインタイプに適用されます 
「いいね!」 3