Obrigado pela sua resposta! Percebi que esse problema, no final das contas, trata-se de gerenciar o usuário no site principal.
Se o usuário fizer logout manualmente no site principal, então preciso chamar o Discourse (via API) para fazê-lo fazer logout lá também.
E se o usuário não fizer logout, mas a sessão dele expirar, preciso chamar o Discourse para fazê-lo fazer logout lá ao mesmo tempo.
E, finalmente: quando um usuário fizer logout do Discourse usando a opção “sair” lá, preciso capturar esse evento (via webhook) e fazê-lo fazer logout no meu site também.
Uau, integração!