Quero desenvolver um plugin que, quando o usuário fizer o login pela primeira vez, force-o a alterar seu nome de usuário. Mas não sei como redirecionar para o meu plugin ou para a página de alteração de nome de usuário.
Estamos planejando criar automaticamente um usuário do fórum com o “username” do nosso sistema de CRM, por meio das APIs do Discourse. Em seguida, o usuário deverá alterá-lo, pois pode conter informações pessoais.
Isso é um problema para nós.
O que você está propondo parece ser uma ideia realmente ruim.
Quantos usuários existem? Sua melhor opção é corrigir os dados no CRM.
Opção 1: Quase o que você pediu
Mas o CRM certamente tem algum tipo de ID exclusivo que você poderia usar em vez do personal-info-username. Se não houver algum tipo de ID, você poderia simplesmente gerar um hash do e-mail deles para servir como nome de usuário. Assim, usuários que não quisessem ter um nome de usuário absurdo poderiam alterá-lo, mas nenhuma informação pessoal estaria em risco de ser divulgada.
Opção 2: O que você está pedindo
Para fazer o que você está pedindo, você precisaria de um plugin que adicionasse um campo personalizado de usuário, como “crm_username”, e então fizesse algo como impedir o login até que eles o alterassem. A experiência do usuário (UX) seria ruim, cara, ou ambas. Talvez você pudesse apenas redirecioná-los para a página de perfil até que alterassem. Esse é o tipo de plugin que provavelmente vai quebrar e será difícil de manter.
Opção 3
Ou você poderia simplesmente enviar convites e deixá-los entrar e criar sua própria conta, se quisessem. Essa provavelmente é a melhor solução.
Se você realmente quiser um plugin, pode perguntar em Marketplace.