Привет, Ричард,
Закрываю вопрос по проблеме SSO между WordPress и Discourse. Нам удалось всё настроить.
В итоге решением стало возврат к стандартному провайдеру WP-Discourse DiscourseConnect, вместо продолжения работы с нашей кастомной реализацией DiscourseConnect/HMAC.
Мы создали новый API-ключ Discourse, обновили общий секрет DiscourseConnect, включили провайдер WP-Discourse на уровне сети и изменили URL Discourse Connect с нашего старого кастомного callback на URL сайта WordPress, указанный в WP-Discourse.
Затем мы протестировали всё с полностью новым пользователем WordPress и чистой сессией Discourse:
Вход в WordPress → Enter Community → автоматический вход в Discourse под тем же пользователем.
Таким образом, стандартный WP-Discourse теперь корректно обрабатывает SSO.
Спасибо ещё раз, что указал нам правильное направление, пока мы разбирались.
Джи