Discourse 2026.6でSAMLログインを開始した際にCSRFTokenVerifier::InvalidCSRFTokenが発生

Discourse 2026.6 で SAML ログインを開始する際に CSRFTokenVerifier::InvalidCSRFToken が発生

こんにちは。

新規インストールした Discourse 環境で ADFS を使用した SAML 認証を設定しようとしています。

環境

  • Discourse バージョン: 2026.6 (Rails 8.0.5)
  • discourse-saml プラグイン
  • プラグインのコミット:
7d0fe944bf33588e6813bffaef5eb8f34e37d039
  • HTTPS 有効
  • Discourse の前にリバースプロキシ / ロードバランサーを配置
  • force_https = true

SAML 設定

メタデータエンドポイントは正常に動作しています:

https://<hostname>/auth/saml/metadata

メタデータには以下が含まれています:

  • EntityID
  • ACS URL
  • SLO URL

ADFS チームはメタデータのインポートに成功しました。

問題

SAML でログイン をクリックすると、Discourse は ADFS へリダイレクトしません。

代わりに、すぐに以下のメッセージが返されます:

Sorry, the authorization timed out, or you have switched browsers.

Rails ログ

Started GET "/session/csrf"
Completed 200 OK

Started POST "/auth/saml"

(saml) Authentication failure!
CSRFTokenVerifier::InvalidCSRFToken

Started GET "/auth/failure?message=csrf_detected&strategy=saml"

すでに確認済みの事項

  • HTTPS が動作している
  • Discourse.base_url = https://hostname
  • force_https = true
  • セッションCookie (_forum_session) が存在する
  • authenticity_token が POST /auth/saml に含まれている
  • discourse-saml プラグインは最新 main ブランチ
  • メタデータエンドポイントが動作している
  • ADFS メタデータは SP メタデータから再作成済み

ブラウザのリクエスト

POST /auth/saml には以下が含まれています:

  • _forum_session Cookie
  • authenticity_token

しかし、リクエストはすぐに以下のエラーで失敗します:

CSRFTokenVerifier::InvalidCSRFToken

ADFS には到達しません。

追加情報

ブラウザの DevTools では以下が表示されています:

x-csrf-token: undefined
```\n
これは Rails 8 / OmniAuth の CSRF 関連の問題でしょうか、それとも最近の Discourse バージョンでの discourse-saml 設定に別の要件があるのでしょうか?

ご助言をいただければ幸いです。


Discourse.base_url

https://testvknowyeni.vakifbank.intra



SiteSetting.force_https

true



SiteSetting.same_site_cookies

Lax