Наш форум на Discourse использует SSO. Иногда у пользователей есть алиасные аккаунты, которые отображаются как john_smith+lab@company.com, поэтому в Discourse имя пользователя выглядит как john_smith_lab.
Немного неудобно иметь так много имён пользователей, которые не соответствуют этим алиасам (у нас их очень много), поэтому мы пытались понять, можно ли изменить или трансформировать эти имена пользователей до или в момент их создания в Discourse.
Например, поскольку мы используем символ + для всех алиасов, если бы существовал способ обрезать имя пользователя у всех начиная с +, это позволило бы нормализовать имена всех пользователей до формата first_last.
Возможно ли это? Если да, то как нам это реализовать?
Думаю, решение заключается в настройке вашего SSO так, чтобы оно передавало корректное имя пользователя. Разве имена пользователей, которые вам не нравятся, не передаются в Discourse вашим SSO? Кроме того, если опция sso overrides username (SSO переопределяет имя пользователя) снята, то пользователи могут изменить своё имя пользователя (в пределах некоторых настраиваемых ограничений).
Если мы снимем галочку с параметра sso overrides username, относятся ли ограничения на изменение имени пользователя к таким вещам, как минимальная/максимальная длина и допустимые символы Unicode? Я вижу эти ограничения, но хочу убедиться, что не упускаю другие важные параметры конфигурации.
Вам не следует изменять никакие настройки по умолчанию и отправлять соответствующее имя пользователя в полезной нагрузке SSO. Наша тема Официальный единый вход для Discourse (sso) охватывает этот вопрос.