Пользователь отключен, нужно узнать почему

Привет,

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

Не могли бы вы помочь мне, предоставив информацию о том, какие логи следует проверить, или возможные причины, по которым система деактивирует пользователя.

С уважением,
Пекка

Кажется, это мог быть скрипт InvalidateInactiveAdmins — похоже, он не создаёт запись в журнале. Кто-нибудь может подтвердить, так как я не знаком с деталями исходного кода.

Да, это верно. Мы определенно должны рассмотреть возможность добавления лога для этого — это может быть очень запутанным, если вы не знаете об этой функции. Я добавлю это в свой список задач.

Если вы используете последнюю версию Discourse, то мы недавно добавили некоторые дополнительные проверки перед деактивацией учетных записей администраторов:

Если пользователь создал сообщения или к нему привязан недавно использованный API-ключ, то учетная запись не будет деактивирована. Обратите внимание, что API-ключ должен быть конкретно привязан к этому пользователю, а не быть ключом для «всех пользователей».

Да, я видел это, к сожалению, я использую более раннюю версию.

Я рекомендую обновиться, но если это невозможно, у вас есть несколько вариантов:

  • «Импонируйте» аккаунт, чтобы он не был деактивирован в течение следующего года

  • Установите invalidate_inactive_admin_email_after_days на большее значение или 0, чтобы отключить эту функцию

Мы выбрали второй вариант, подождали несколько дней, чтобы проверить, повторится ли это, но корневая причина была определена неверно.

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

Надеюсь, вам нравятся уязвимости безопасности, тогда :rofl:

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

Выполнено согласно FEATURE: Add message to log when admins are automatically deactivated · discourse/discourse@a9d0d55 · GitHub