Estamos usando o Discourse com SSO e estamos criando usuários via API.
Esclarecimento: Você está usando o Discourse Connect ou criando os usuários manualmente?
Parece que você está fazendo mais trabalho do que o necessário.
Usar o Discourse Connect é provavelmente mais fácil e, em seguida, você pode deixar o próprio Discourse encontrar um nome de usuário exclusivo que seja próximo ao que você sugere.