Bonjour à tous,
J’utilise Discourse 2026.2.0-latest (26f3e2aa87) (installation Docker, modèle nginx par défaut, pas de Cloudflare). J’ai activé OpenID Connect (Microsoft Entra / Azure AD).
Lorsqu’un utilisateur tente de s’inscrire/se connecter via OIDC, Discourse enregistre une erreur :
(oidc) Authentication failure! CSRFTokenVerifier::InvalidCSRFToken
Dans l’entrée de journal, je peux voir la requête est :
REQUEST_URI: /auth/oidcREQUEST_METHOD: POST- Referrer:
/signup
same_site_cookies est actuellement défini sur Lax.
Ma théorie de travail est que l’IdP (Fournisseur d’identité) renvoie en utilisant response_mode=form_post (POST inter-sites), donc avec SameSite=Lax, le cookie de session pourrait ne pas être inclus lors du rappel (callback), provoquant l’échec de la vérification CSRF de Discourse.
Questions :
- Est-ce que définir
same_site_cookies = Noneest la correction recommandée / supportée pour les fournisseurs OIDC qui utilisent des rappelsform_post? - Sinon, existe-t-il une manière recommandée de configurer Discourse OIDC (ou l’IdP) pour que le rappel soit un GET (requête) plutôt que
form_post, afin d’éviter d’avoir besoin deSameSite=None? - Y a-t-il des mises en garde de sécurité/compatibilité avec
SameSite=Nonespécifiquement pour les inscriptions/connexions OIDC de Discourse ?
Merci !