У меня есть пользователь-бот, который выполняет множество задач через API. Это доверенный пользователь и администратор, но на этой неделе его по какой-то причине дважды деактивировали. Я не вижу в логах действий персонала или в логах ошибок никаких указаний на то, почему пользователь был деактивирован.
Не могли бы вы помочь мне, предоставив информацию о том, какие логи следует проверить, или возможные причины, по которым система деактивирует пользователя.
Кажется, это мог быть скрипт InvalidateInactiveAdmins — похоже, он не создаёт запись в журнале. Кто-нибудь может подтвердить, так как я не знаком с деталями исходного кода.
Да, это верно. Мы определенно должны рассмотреть возможность добавления лога для этого — это может быть очень запутанным, если вы не знаете об этой функции. Я добавлю это в свой список задач.
Если вы используете последнюю версию Discourse, то мы недавно добавили некоторые дополнительные проверки перед деактивацией учетных записей администраторов:
Если пользователь создал сообщения или к нему привязан недавно использованный API-ключ, то учетная запись не будет деактивирована. Обратите внимание, что API-ключ должен быть конкретно привязан к этому пользователю, а не быть ключом для «всех пользователей».
В прошлый раз при обновлении возникло множество проблем с тем, как работает система флагов, поэтому мы не будем принимать обновления, если у нас не останется другого выбора.
Я понимаю, что проблемы возникают из-за того, что мы не обновляемся: наше использование Discourse не является стандартным, и пользователи не получают доступ к реальному серверу Discourse, который используется только как бэкенд, поэтому, думаю, пока у нас всё в порядке.
Тот факт, что пользователи недовольны из-за изменения поведения, а мы не можем отменить это изменение, поскольку команда не хочет добавлять опцию для устаревшего поведения, является для нас более серьёзной проблемой.