Эта ошибка возникает в следующем методе:
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
Метод проверяет, был ли nonce сгенерирован Discourse для той же сессии, через которую пользователь был перенаправлен обратно в Discourse.
Вы можете попробовать установить параметр сайта discourse_connect_csrf_protection в значение false. По умолчанию его значение — true. Это скрытый параметр сайта, поэтому отключить его можно только через консоль Rails.
При включённом параметре discourse_connect_csrf_protection весь процесс аутентификации SSO выполняется через перенаправления браузера. Если вы запускаете процесс аутентификации, выполняя фоновый запрос к session/sso, вам потребуется отключить этот параметр. Подробнее здесь: DiscourseConnect flow no longer functions - #5 by david.