Ich sehe OIDC-Fehler in Discourse-Logs: `CSRFTokenVerifier::InvalidCSRFToken` bei `/auth/oidc` (POST)

Hallo zusammen,

ich verwende Discourse 2026.2.0-latest (26f3e2aa87) (Docker-Installation, Standard-Nginx-Vorlage, kein Cloudflare). Ich habe OpenID Connect (Microsoft Entra / Azure AD) aktiviert.

Wenn ein Benutzer versucht, sich über OIDC zu registrieren/anzumelden, protokolliert Discourse einen Fehler:

(oidc) Authentication failure! CSRFTokenVerifier::InvalidCSRFToken

Im Log-Eintrag sehe ich, dass die Anfrage lautet:

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

same_site_cookies ist derzeit auf Lax eingestellt.

Meine Arbeitshypothese ist, dass der IdP mit response_mode=form_post zurückkehrt (Cross-Site-POST). Daher wird bei SameSite=Lax der Session-Cookie möglicherweise nicht beim Callback mitgesendet, was dazu führt, dass die CSRF-Überprüfung von Discourse fehlschlägt.

Fragen:

  1. Ist das Setzen von same_site_cookies = None die empfohlene/unterstützte Lösung für OIDC-Anbieter, die form_post-Callbacks verwenden?
  2. Wenn nicht, gibt es eine empfohlene Methode, Discourse OIDC (oder den IdP) so zu konfigurieren, dass der Callback ein GET (Abfrage) anstelle von form_post ist, um SameSite=None zu vermeiden?
  3. Gibt es spezifische Sicherheits-/Kompatibilitätsbedenken bei SameSite=None für Discourse OIDC-Anmeldungen/Logins?

Danke!