Невозможно отключить 2FA для пользователя

У нас есть пользователь с включенной двухфакторной аутентификацией (2FA), и мы не можем её отключить.

При нажатии кнопки «Отключить» в его аккаунте появляется сообщение:


(Вы передали недопустимые параметры в запрос: Discourse::InvalidParameters)

В таблице users_second_factors нет строки для этого user_id. Я пробовал добавить тестовую строку: кнопка «Отключить» нажимается без ошибок, но моя тестовая строка удаляется, а 2FA для пользователя остаётся включённой.

Также я пробовал выполнить задачу rake users:disable_2fa[username]. Она выводит сообщение 2FA disabled for user, но в профиле пользователя в панели администратора всё ещё отображается Двухфакторная аутентификация: Да.

Что ещё можно попробовать?

Попробуйте через консоль Rails:

Также было бы полезно знать, какую версию Discourse вы используете. Исправления для проблемы с невозможностью отключить 2FA через интерфейс появились после первого релиза 2FA.

Спасибо @omarfilip .. Я удалил UserSecondFactor, но не знал о UserSecurityKey.

У этого пользователя не было записи UserSecondFactor, но была запись UserSecurityKey.

После её удаления в профиле отображается «Двухфакторная аутентификация: Нет» — спасибо!

@jomaxro Мы используем 2.5.0.beta4 ( 8d3900c6da )

Кажется, всё ещё есть проблема: я должен был иметь возможность сделать это через интерфейс, но получаю ошибку «неверные параметры», возможно, из-за отсутствующей записи UserSecondFactor?

Эта версия устарела и больше не поддерживается. Обновитесь как можно скорее.

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