Надеюсь, что здесь можно публиковать случайные запросы и предложения по новым функциям.
У меня настроен экземпляр Discourse, чтобы пользователи могли проходить аутентификацию через домен Google Apps (в моём случае @vt.edu). Я заметил, что Discourse формирует имена пользователей, объединяя имя и фамилию, полученные через OAuth2, например Имя_Фамилия.
Мне гораздо больше подошло бы, если бы предлагаемое имя пользователя совпадало с частью адреса электронной почты до символа @ (например, user в user@vt.edu), так как user — это идентификатор, используемый в других системах, тогда как Имя_Фамилия — нет. Кроме того, Имя_Фамилия не гарантирует уникальность (John_Smith), в то время как идентификатор пользователя — гарантирует. В моём случае это помогло бы с плагином Data Explorer при необходимости сопоставлять статистику с другими записями, а также обеспечило бы в целом более единообразный опыт использования.
Я полагаю, что @andrei полностью убрал это, поскольку при «автоматическом» создании имени пользователя на основе адреса электронной почты возникали вопросы конфиденциальности?
Не совсем. Мы не удаляем эту функцию, а просто отключаем её с возможностью включения через настройку сайта use_email_for_username_and_name_suggestions.
Также обратите внимание, что это изменение сделано для DiscourseConnect, но не для других методов аутентификации (включая аутентификацию через Google). Однако исправление для других методов скоро появится.
Кроме того, при генерации имени пользователя приоритет отдается полному имени перед адресом электронной почты: аутентификаторы пытаются использовать email для предложений имени пользователя только если поля username и full-name в полезной нагрузке пусты. Это можно настроить с помощью плагина. Однако использование email в качестве основного источника для предложений имени пользователя по умолчанию мы не хотим, особенно при аутентификации через Google. Причина в том, что в этом случае можно узнать адреса электронной почты всех пользователей форума, просто добавив @gmail.com к именам пользователей.