Questo è il metodo che genera l’errore:
def nonce_valid?
if SiteSetting.discourse_connect_csrf_protection
nonce && @secure_session[nonce_key].present?
else
nonce && Discourse.cache.read(nonce_key).present?
end
end
Verifica che il nonce sia stato generato da Discourse per la stessa sessione di quella che reindirizza l’utente a Discourse.
Potresti provare a impostare l’impostazione del sito discourse_connect_csrf_protection su false. Il suo valore predefinito è true. È un’impostazione del sito nascosta, quindi può essere disabilitata solo dalla console Rails.
Quando abilitata, l’impostazione discourse_connect_csrf_protection garantisce che l’intero processo di autenticazione SSO avvenga tramite reindirizzamenti del browser. Se stai avviando il processo di autenticazione effettuando una richiesta in background a session/sso, dovrai disabilitarla. Maggiori dettagli qui: DiscourseConnect flow no longer functions - #5 by david.