A documentação para configurar o plugin em uma rede multisite está desatualizada. Esta é uma boa oportunidade para organizar e atualizar o guia instalação e configuração do plugin WP Discourse.
Para usar a funcionalidade de cliente SSO em uma rede multisite, o plugin precisa ser configurado no nível da rede. Isso é feito clicando no link Discourse no seu Painel da Rede:
Na página de rede do Discourse, selecione a opção Habilitar Configuração Multisite. Em seguida, insira sua URL do Discourse, Chave de API e Nome de Usuário de Publicação na seção Configurações de Conexão. Role até o final da página e clique no botão Salvar Opções. Você deverá ver a mensagem “Você está conectado ao Discourse!” no topo da página.
Para usar o Discourse como provedor de SSO para sites na sua rede multisite, role até o final da página de rede do Discourse e selecione a opção Habilitar Cliente SSO. Adicione também uma chave na configuração Chave Secreta do SSO. Salve suas opções novamente.
Agora, vá para o seu site Discourse e copie a chave secreta para a configuração do site sso provider secrets do Discourse. Insira o símbolo * como domínio do provedor de SSO. Após salvar essa configuração, ela deve parecer semelhante a esta:
Agora, selecione a opção enable sso provider no Discourse.
Com essas configurações em vigor, acessar a aba SSO / Cliente SSO do WP Discourse para qualquer site na sua rede deve levar você a uma página semelhante a esta:
Para um teste rápido, selecione as opções Adicionar Link de Login e Sincronizar Usuários Existentes por E-mail. Em seguida, faça logout do seu site WordPress. Você deverá conseguir fazer login novamente clicando no link “Login com Discourse” que será exibido na sua página wp-login.php.
Se você não estiver usando a página de login padrão do WordPress, tente copiar o shortcode [discourse_sso_client] para um post no seu site. Esse shortcode exibe marcação na página apenas para usuários deslogados. Você também pode criar um link de login construindo um link neste formato:
<a href="https://example.com/?discourse_sso=1&redirect_to=https://example.comt/">Log in with Discourse</a>
Isso fará com que o usuário faça login no seu site com o Discourse e, em seguida, seja redirecionado de volta para a página do WordPress definida como valor do parâmetro redirect_to.
Com base na sua depuração, parece que a opção Habilitar Cliente SSO não estava ativada na sua página de Rede do Discourse. Você pode verificar se essa opção está ativada e me informar se ainda estiver tendo problemas?
O código que você encontrou, que estava impedindo o Cliente SSO de funcionar para você, está correto, mas é uma condição mal escrita:
if ( empty( $this->options['sso-client-enabled'] ) || 1 !== intval( $this->options['sso-client-enabled'] ) )
Ele deve ser simplificado para if ( empty( $this->options['sso-client-enabled'] ) ). Esse é o padrão usado em todo o resto do plugin.