Ещё один шаг вперёд: если я включу подробное логирование для DiscourseConnect, в логах появляется ошибка:

Подробный лог SSO: Ошибка разбора подписи. Неверная подпись для полезной нагрузки sso: bm9uY2U9YklKeEU1WWw2OFhjSkJydGlwSU15UTRZeVlMeWd6ZzQyUU9mOFo0SWF5QSZyZXR1cm5fc3NvX3VybD1odHRwczovL2VtYmVldGxlLmNvbS8jYWNjb3VudA=
Одно примечательное замечание: полезная нагрузка, упомянутая в логе, не закодирована в URL (обратите внимание на ‘=’ в конце) и в ней отсутствует второй ‘=’ закодированных данных (обратите внимание на повторяющийся %3D в конце исходной полезной нагрузки).