Клиент WordPress DiscourseConnect: истёкший nonce

Проблема не в объектном кэше WordPress, насколько мне известно, он не сохраняется между запросами. Проблема возникает на сайтах, где используется какой-либо вид постоянного кэширования: https://developer.wordpress.org/reference/classes/wp_object_cache/#persistent-caching. Это можно настроить через плагин, но также оно включено по умолчанию у некоторых хостинг-провайдеров, например, WP Engine. Насколько я понимаю, в случае с WP Engine объект-кэш не включен на их странице входа, но включен для анонимных пользователей на всех остальных страницах. Таким образом, на WP Engine проблема возникает только если ссылка «Войти через Discourse» добавлена на страницу, отличную от страницы входа.

Проблема с discourse_sso_url заключается в том, что когда он всегда установлен в одно и то же значение, для сайтов с включенным постоянным кэшированием он всегда будет возвращать один и тот же nonce. Установка его значения discourse_sso в случайную строку вместо значения по умолчанию 1 нарушает работу кэша. По крайней мере, так всегда работало в моих предыдущих тестах. В данный момент у меня нет возможности проверить это.

Редакция: здесь есть ещё несколько деталей по этой проблеме: Discourse (as provider) + WP SSO nonce error - #14 by simon. Прошло уже довольно много времени с тех пор, как я смотрел на это. Исправление проблемы на тот момент заключалось в том, чтобы одновременно добавить случайную строку в discourse_sso_url и убедиться, что кэширование страниц не включено на странице, где отображается ссылка входа (иначе случайная строка не будет уникальной для каждого посещения анонимным пользователем).