Ciao a tutti,
Sto eseguendo Discourse 2026.2.0-latest (26f3e2aa87) (installazione Docker, template nginx predefinito, senza Cloudflare). Ho abilitato OpenID Connect (Microsoft Entra / Azure AD).
Quando un utente tenta di registrarsi/accedere tramite OIDC, Discourse registra un errore:
(oidc) Authentication failure! CSRFTokenVerifier::InvalidCSRFToken
Nella voce di log vedo che la richiesta è:
REQUEST_URI: /auth/oidcREQUEST_METHOD: POST- Referrer:
/signup
same_site_cookies è attualmente impostato su Lax.
La mia teoria di lavoro è che l’IdP (Identity Provider) stia rispondendo utilizzando response_mode=form_post (POST cross-site), quindi con SameSite=Lax il cookie di sessione potrebbe non essere incluso nella callback, causando il fallimento della verifica CSRF di Discourse.
Domande:
- Impostare
same_site_cookies = Noneè la correzione consigliata/supportata per i provider OIDC che utilizzano callbackform_post? - In caso contrario, esiste un modo consigliato per configurare Discourse OIDC (o l’IdP) in modo che la callback sia una GET (query) anziché
form_post, per evitare la necessità diSameSite=None? - Ci sono avvertenze di sicurezza/compatibilità con
SameSite=Nonespecificamente per le registrazioni/accessi OIDC di Discourse?
Grazie!