Я борюсь с концепцией разработки API аутентификации RESTful без аутентификации с многофакторной аутентификацией.Как создать автономный вход REST с 2 аутентификацией фактора (2FA)?
Практически по определению потребность в 2FA требует нескольких состояний; вход в систему с именем пользователя/паролем, а затем отправкой «кода» (либо TOTP, SMS-код, ответ на вопрос проверки и т. д.). Это дополнительно подразумевает конечную машину (FSM).
Насколько я могу сказать, единственные варианты, которые существуют для того, чтобы поддерживать механизм без гражданства являются:
- клиент должен передать некоторую информацию о состоянии (например: текущее FSM состояния) при представлении данных в переход к следующему состоянию,
- государство должно сохраняться на стороне сервера,
- клиент должен передавать все данные по каждому запросу, что позволило ему достичь текущего состояния
Очевидно, что передача всех данных бессмысленна. Таким образом, это подразумевает передачу информации о состоянии (непрозрачной или другой) в состоянии запроса или сохранения на сервере.
Или есть какая-то другая техника, которую мне не хватает?
Я бы посмотрел с архитектурной точки зрения на то, как структуры AWS 2FA в своем продукте аутентификации Cognito. Кроме того, я знаю, что с точки зрения потребления каждый следующий уровень активности с API требует, чтобы я проходил комбинацию данных. поэтому, к концу, я отправляю такие вещи, как токен сеанса, мой телефонный код, плюс мой оригинальный объект auth и т. д. Вы можете найти что-то полезное там – Kristian
@ Eric B. Вы нашли ответ для этого. Если да, можете ли вы, пожалуйста, сообщить мне об этом. Заранее спасибо. –
@NickDiv Я опубликовал решение, с которым я пришел. Пожалуйста, дайте мне знать, если это ясно или вам нужна дополнительная информация. –