Остаются ли пароли и пользовательские поля без изменений после анонимизации аккаунта?

Почему пароль и пользовательские поля анонимизированного пользователя не удаляются/не анонимизируются?

Привет, sebix,

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

Это интересно.
Я анонимизировал 1772 пользователей, и у всех сохранились пользовательские поля import_pass. Также сохранились поля import_id, но они для меня менее важны.

Я использую версию Discourse «latest-release +157» (так её показывает сам Discourse; думаю, это 0f4beab0fbbd7a163d399e2f94a6aa9cc3dd3ec8), отставание составляет 11 коммитов, но, похоже, в этих коммитах нет никаких значимых изменений.

Что касается пароля: вы правы, хеш изменился. Я не обратил на это внимания. Может быть, вы сможете добавить эту информацию в первый пост или в документацию?

Спасибо за добавление этих деталей :slight_smile:

Эти поля взяты с Migrated password hashes support.

Так что это не имеет прямого отношения к Discourse. Плагин можно безопасно удалить через некоторое время после миграции, когда большинство участников хотя бы раз войдут в систему. Не знаю, сохраняет ли плагин эти поля при удалении. Мне кажется, что он не должен их сохранять, но если это произойдёт, вы можете очистить их через консоль Rails.

Конечно, я сделаю это скоро.


Редактирование: выполнено.

На самом деле, этот плагин читает это пользовательское поле. Оно добавляется большинством скриптов импорта.

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

Кстати, большинство скриптов импорта также сохраняют пользовательское поле import_username.

По-видимому, было бы целесообразно, чтобы процедура анонимизации удаляла все пользовательские поля пользователей, независимо от их происхождения. Кроме того, не существует реестра или механизма определения владельца для пользовательских полей.

Со мной случалось так: пользователь хотел уйти и попросил анонимизировать его аккаунт. Но потом он захотел вернуться. Поскольку поле пароля осталось неизменным, мы смогли реактивировать этот аккаунт, так как знали, кто это был.