Conta do WordPress excluída completamente ao alterar o nome de usuário no Discourse (SSO com WP como provedor)

Continuando a discussão de SSO com WordPress, mas os usuários não podem alterar seu nome de usuário:

Estou usando o plugin Discourse para WordPress, com o WP como meu provedor de SSO.

Quando uma pessoa cria sua conta no WP, configurei para que ela crie a conta por meio do WooCommerce. Também tenho uma configuração que impede o login até que a conta do WP seja confirmada por verificação de e-mail.

Quando um usuário visita os fóruns, ele precisa clicar no botão “Entrar”. Se o usuário tiver confirmado e estiver logado, ele será autenticado no Discourse e sua conta no fórum será provisionada.

Eu vinha permitindo que os usuários alterassem seus nomes de usuário no Discourse.

Quais são as consequências de alterar o nome de usuário de um usuário?

Bem, notei que o que acontece no WordPress é que a conta deles é REMOVIDA/EXCLUIDA do meu banco de dados do WooCommerce/WP. Não é mais encontrada em lugar nenhum.

Então, quando o usuário tenta fazer login novamente, não consegue… é claro, porque não tem mais conta no WP. Isso é esperado? Alguém mais já passou por isso?!

Desde então, mudei o “período de alteração de nome de usuário” para “0”.

“O número máximo de dias após o registro durante os quais as contas podem alterar o nome de usuário (0 para desabilitar a alteração de nome de usuário).”

Se alguém quiser alterar seu nome de usuário, pode entrar em contato conosco e nós podemos alterá-lo no WordPress para que corresponda ao dos fóruns. Isso parece funcionar. (usando o plugin “Username Changer” sugerido por @AdamCapriola aqui.)

As únicas alterações que o plugin WP Discourse faz em um usuário do WordPress, quando o WordPress é o provedor SSO para o Discourse, são adicionar os campos de metadados discourse_sso_user_id e discourse_username ao usuário. O plugin não faz nada que eu saiba que causaria a exclusão de um usuário do WordPress do banco de dados quando ele altera seu nome de usuário no Discourse.

A única consequência de um usuário alterar seu nome de usuário no Discourse que eu conheço é que o Nome de Usuário do Discourse do usuário, armazenado no WordPress, pode ficar dessincronizado com o nome de usuário real do usuário no Discourse. Se isso acontecer, afetará a capacidade do usuário de publicar posts no Discourse. Isso não deve causar nenhum problema com o login SSO. Definitivamente, não deve causar a exclusão do usuário do banco de dados do WordPress.

Este é um problema do WordPress, não do Discourse, mas eu não recomendaria usar um plugin para substituir a funcionalidade básica do WordPress. Os nomes de usuário não são destinados a serem editáveis no WordPress. Seria melhor manter esse comportamento padrão.