У меня есть веб-приложение, которое в настоящее время использует lighttpd с mod_auth и метод htdigest для аутентификации. Я хочу расширить функциональность веб-приложений для 2FA. Если я правильно понимаю, что происходит с аутентификацией htdigest:
- Браузер запрашивает сайт с сервера
- Сервер отвечает «Требуется аутентификация»
- Браузер показывает пользователю окно с запросом имени пользователя / пароля и отправляет эту информацию на сервер
- Сервер обслуживает веб-страницу
Если я правильно понимаю, сервер кэширует эту информацию об авторизации и автоматически отправляет ее для следующих запросов.
Теперь я хочу добавить 2FA. Я узнал, что я могу использовать fastcgi для создания собственного авторизатора. Могу ли я использовать это, чтобы сделать 2FA? Как я могу попросить браузер предоставить пользователю возможность ввести OTP? Бесполезно кэшировать OTP и отправлять его при каждом запросе, поэтому я думаю, что мне нужно сохранить токен сеанса или что-то, что браузер должен отправлять при каждом следующем запросе?