Deixando uma nota para mim aqui relacionada a https://meta.discourse.org/t/manage-group-membership-in-discourse-with-wp-discourse-sso/74724#restricting-access-to-discourse-when-a-membership-doesnt-exist-4. Se a opção Criar ou Sincronizar Usuários do Discourse no Login do WP Discourse estiver habilitada, contas do Discourse serão criadas automaticamente para todos os usuários no site WordPress, mesmo que eles sejam impedidos de fazer login no Discourse pelo método descrito no OP. Detalhes sobre como impedir que contas sejam criadas automaticamente para usuários que não possuem o nível de associação apropriado estão na segunda parte desta postagem: How to prevent some WP users from being able to login to Discourse - #2 by simon.
Basicamente:
add_filter( 'wpdc_bypass_sync_sso', 'wpdc_custom_bypass_sync_sso', 10, 3 );
function wpdc_custom_bypass_sync_sso( $bypass_sync, $user_id, $user ) {
if ( /* Alguma condição que retorna true se o usuário não atender ao requisito de associação */ ) {
$bypass_sync = true;
}
return $bypass_sync;
}
Estou me lembrando de atualizar o OP com esses detalhes.