Отключите 2-факторную аутентификацию без устройства

#asp.net-core #recovery #two-factor-authentication

Вопрос:

Я внедрил 2-факторную аутентификацию в своем ASP.NET Основное приложение. Вчера я реализовал использование кодов восстановления, которые будут использоваться в случае, если пользователь потеряет свое устройство.

Мой вопрос на самом деле чисто теоретический.

Если пользователь использовал код восстановления, мы не хотим отключать 2-факторную аутентификацию. Но для того, чтобы отключить 2FA, пользователю необходимо сгенерировать проверочный код с помощью своего мобильного телефона. Таким образом, он никак не сможет отключить 2FA.

Поэтому единственное, что нужно сделать тому, кто потерял свое устройство, — это продолжать использовать резервные коды, следить за тем, чтобы они не заканчивались, и вовремя генерировать новые резервные коды (которые он должен записать снова). Или попросите администратора отключить для него 2FA. Но разве нет лучшего способа справиться с такого рода случаями?

Восстановление 2FA с использованием ASP.NET Сердечник

Комментарии:

1. Таким образом, если пользователь потеряет свой телефон/изменит номера телефонов, ему придется использовать код восстановления каждый раз в будущем при входе в систему? Для меня это не звучит как отличный UX.. Уверен, что обычно коды восстановления действуют как обход 2FA, а затем вы можете отключить 2FA/повторно зарегистрировать 2FA в настройках.

2. Действительно, это то, что меня интересует. Однако теперь я вижу, что с ASP.NET Основная идентичность, вам не нужен проверочный код, чтобы отключить 2FA (немного неверное предположение с моей стороны). Итак, следует ли вам установить флажок ниже с надписью «Отключить двухфакторную аутентификацию»? И когда код восстановления будет действителен, отключите его? Это хорошая идея или опасный поступок?