Olá, Richard,
Apenas para encerrar o assunto sobre o problema de SSO entre WordPress e Discourse. Conseguimos fazer funcionar.
No final, a solução foi voltar ao WP-Discourse DiscourseConnect Provider padrão, em vez de continuar com nossa implementação personalizada de DiscourseConnect/HMAC.
Criamos uma nova chave de API do Discourse, rotacionamos o segredo compartilhado do DiscourseConnect, ativamos o Provedor WP-Discourse no nível da rede e alteramos a URL do Discourse Connect de nosso antigo callback personalizado para a URL do site WordPress especificada pelo WP-Discourse.
Em seguida, testamos com um usuário do WordPress completamente novo e uma sessão limpa do Discourse:
Login no WordPress → Entrar na Comunidade → logado automaticamente no Discourse como o mesmo usuário.
Portanto, o WP-Discourse padrão agora está gerenciando o SSO corretamente.
Obrigado novamente por nos orientar na direção certa enquanto trabalhávamos nisso.
Gee