Обязательная генерация имени пользователя и аватара — как это реализовать?

Мы хотим предотвратить распространение пользователями любой личной информации. Как мы можем ограничить пользователей конкретными именами пользователей и аватарами или создать аватар и имя пользователя с помощью инструмента генерации, использующего выбранные слова (например, животные, фрукты, цвета и т. д.), которые могут использоваться в качестве имен пользователей?

По сути, мы хотим запретить пользователям загружать свои фотографии и использовать свои настоящие имена в качестве имен пользователей… Но при этом мы хотели бы сохранить возможность частичной персонализации и сделать процесс увлекательным. Любые идеи или советы будут очень кстати — спасибо!

Я думаю, что лучший вариант — использовать внешнюю систему аутентификации, которая будет применять любые нужные вам правила, и подключиться к ней с помощью DiscourseConnect — официальный механизм единого входа (SSO) для Discourse.

В принципе, можно написать плагин, который ограничивает доступ к определённым пользователям, требуя от них выполнения специфических условий. Трудно представить, как это не будет вызывать раздражение: «вот наши причудливые правила для паролей, удачи в их соблюдении». Но, возможно, если речь идёт только о названиях фруктов и цифрах, всё будет нормально? Может быть, плагин мог бы использовать генератор предложений, чтобы предлагать подходящие имена. Звучит как пара дней работы, после того как вы разберётесь с кодом для реализации.

edit: Возможно, всё проще, чем я думал. Похоже, в генераторе предложений имён уже есть встроенные функции, которые немного упрощают задачу, хотя за 4 минуты я не до конца разобрался, как именно это работает.

Для ограниченного набора аватаров существует функция выбираемых аватаров.

Что касается сгенерированных имён пользователей, то, думаю, для этого потребуется кастомный плагин.
Я полагаю, это не так уж редко встречается: например, музыкальное приложение Auxy генерирует названия для проектов.

В приложении для программирования для детей, которым я пользовался, также была такая функция для имён пользователей (там тоже использовалось сочетание прилагательного и существительного, но список был гораздо шире, чем только животные).

Что касается масштаба, можно начать с системы из двух слов. И вы сможете добавлять отдельные наборы словарей для первого и второго слова через настройки администратора (чтобы списки можно было легче обновлять и редактировать).

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

(Если вы хотите, чтобы кто-то создал кастомный плагин, обычно такие задачи можно размещать в канале Marketplace, если у вас есть бюджет).

Спасибо! Возможно ли, чтобы имена пользователей совпадали с их логином на нашем сайте?

Это похоже на одну из наших идей: выбрать слово из одного списка, выбрать слово из второго списка, а затем объединить их, чтобы создать уникальное имя пользователя.

Да, я думаю, что ссылка, которую pfaffman опубликовал здесь, должна содержать больше информации о том, как это сделать (если у вас уже есть сайт):