Ограничить имя пользователя именем пользователя

Когда пользователи регистрируются на форуме через OpenID, их адрес электронной почты и имя пользователя автоматически заполняются и проверяются. Если выбранное имя пользователя уже занято, Discourse добавляет к нему число, чтобы сделать его уникальным. Имя пользователя формируется на основе имени пользователя.

Проблема в том, что мы хотим, чтобы имя пользователя состояло только из имени пользователя, а не из полного имени. Я пытался изменить имя пользователя во время регистрации, но пока не нашел успешного способа. Буду признателен за любые предложения о том, как это исправить.

Кажется, вы уже публиковали это:

Теперь стало более понятно, чего я хочу достичь и с какими проблемами сталкиваюсь

Если вы управляете сервером OpenID, то должны иметь возможность настроить его на отправку в Discourse любых данных, которые вам нужны.

Это может помочь:

Похоже, что вы можете заполнить поле preferred_nickname тем именем пользователя, которое хотите использовать. Что именно вы отправляете в этом поле? Если там пусто или указано полное имя пользователя, это первое, что стоит изменить.

Вы также можете попробовать этот компонент; он должен сделать то, что вам нужно в вашем контексте.

Он скрывает поле имени пользователя и генерирует его значение на основе поля имени, извлекая только имя.

Он ожидает, что будут включены следующие настройки:

  • full_name_required
  • prioritize_username_in_ux