Когда включены резервные коды двухфакторной аутентификации, подтверждение нового адреса электронной почты завершается ошибкой:
Ой
Программное обеспечение, управляющее этим форумом, столкнулось с неожиданной проблемой. Приносим извинения за неудобства.
Подробная информация об ошибке была записана в журнал, и автоматически сформировано уведомление. Мы разберёмся в этом.
Дальнейших действий не требуется. Однако, если ошибка сохраняется, вы можете предоставить дополнительные детали, включая шаги для воспроизведения ошибки, опубликовав тему в разделе обратной связи на сайте.
Это происходит на нескольких установках Discourse, поэтому проблема не специфична для одной из них.
Отключение функции «резервные коды двухфакторной аутентификации» решает проблему, и подтверждение по электронной почте проходит успешно.
Полные шаги для воспроизведения проблемы:
Начните с аккаунта на любом сайте Discourse (для тестирования можно использовать https://try.discourse.org/).
Настройте 2FA с использованием TOTP (физические ключи безопасности я не тестировал).
Измените адрес электронной почты в своём аккаунте.
Нажмите на ссылку в письме с подтверждением, отправленном на новый адрес. Обратите внимание, что подтверждение проходит успешно.
Включите «резервные коды двухфакторной аутентификации» в настройках 2FA.
Снова измените адрес электронной почты в аккаунте.
Нажмите на ссылку в письме с подтверждением, отправленном на новый адрес. Обратите внимание, что подтверждение завершается ошибкой, описанной выше.
Отключите «резервные коды двухфакторной аутентификации».
Снова измените адрес электронной почты.
Нажмите на ссылку в письме с подтверждением, отправленном на новый адрес.
Вас попросят ввести код TOTP.
На этот раз подтверждение нового адреса электронной почты проходит успешно.
Проверяли ли вы /logs в веб-браузере, войдя в систему как администратор, чтобы увидеть, в чём именно заключается ошибка? Я думаю, что если бы это была настоящая ошибка, мы бы уже столкнулись с ней на наших сайтах.
Также, это связано с ключами безопасности или токенами TOTP? В любом случае, нам понадобятся конкретные шаги для воспроизведения (либо в среде разработки, либо на try.discourse.org), чтобы мы могли подтвердить проблему.
Хорошая мысль. Оказывается, это проблема возникает только при включённых резервных кодах двухфакторной аутентификации. Я обновил пост новыми деталями и шагами для воспроизведения.
Я не имел в виду, что электронную почту нужно обновлять несколько раз. Это означает, что проверка электронной почты не проходит только тогда, когда включены резервные коды, а в остальных случаях — всё работает.