DiscourseログでOIDCの失敗を確認: `/auth/oidc` (POST) で `CSRFTokenVerifier::InvalidCSRFToken`

皆さん、こんにちは。

私は Discourse 2026.2.0-latest (26f3e2aa87) を使用しています(Dockerインストール、デフォルトのnginxテンプレート、Cloudflareなし)。OpenID Connect(Microsoft Entra / Azure AD)を有効にしています。

ユーザーがOIDC経由でサインアップ/ログインしようとすると、Discourseはエラーを記録します。

(oidc) Authentication failure! CSRFTokenVerifier::InvalidCSRFToken

ログエントリで、リクエストが以下であることがわかります。

  • REQUEST_URI: /auth/oidc
  • REQUEST_METHOD: POST
  • Referrer: /signup

現在、same_site_cookiesLax に設定されています。

私の作業仮説は、IdPが response_mode=form_post(クロスサイトPOST)を使用して戻ってくるため、SameSite=Lax の場合、セッションCookieが含まれずにコールバックが行われ、DiscourseのCSRF検証が失敗するのではないかということです。

質問です。

  1. form_post コールバックを使用するOIDCプロバイダーに対して、same_site_cookies = None を設定することが推奨される/サポートされている修正方法ですか?
  2. そうでない場合、コールバックをGET(クエリ)にし、SameSite=None を必要としないように、Discourse OIDC(またはIdP)を設定するための推奨される方法はありますか?
  3. 特にDiscourse OIDCのサインアップ/ログインに関して、SameSite=None にセキュリティ上または互換性上の注意点はありますか?

よろしくお願いします!