Criar conta apenas para e-mails registrados em meu banco de dados externo

Não sou especialista no Discourse, mas existem várias maneiras de lidar com isso, e aqui está uma que eu esperaria que pudesse funcionar e tentaria explorar:

  1. Exigir aprovação para novos usuários do Discourse
  2. Desenvolver um script no seu site remoto ou em um ambiente serverless que consulte seu banco de dados para uma pessoa e, em seguida, chame a API do Discourse para aprovar ou recusar o novo usuário
  3. Fazer com que o Discourse realize uma chamada de webhook para o script quando houver um novo usuário
  4. Personalizar a redação do seu Discourse para descrever melhor aos seus usuários o que está acontecendo

Basicamente, o Discourse possui webhooks e API robustos, então você pode usá-los enquanto escreve seu script personalizado remotamente, na linguagem com a qual se sentir mais confortável.

Se você estiver disposto a escrever um plugin do Discourse em Ruby, isso também funcionaria, mas, pessoalmente, não estou, então acharia essa abordagem mais fácil.