Мы используем Discourse с SSO и создаём пользователей через API.
Уточнение: вы используете Discourse Connect или создаёте пользователей вручную?
Похоже, вы делаете больше работы, чем необходимо.
Использование Discourse Connect, вероятно, проще, и тогда вы можете позволить самому Discourse найти уникальное имя пользователя, близкое к предложенному вами.