Django двухфакторный OTP в DRF

Я хочу защитить один маршрут в проекте на DRF, но есть особенности, пример реализации, которые я не нашел в интернете.

Структура логики выглядит следующим образом

  1. Внедрите двухфакторную аутентификацию (2FA): Интегрируйте сторонний сервис, например Google Authenticator, для генерации проверочных кодов. Когда пользователь пытается получить доступ к конфиденциальному маршруту, предложите ему ввести проверочный код вместе с учетными данными. Проверьте введенный код с помощью кода, сгенерированного Google Authenticator или аналогичным сервисом.

  2. Верификация электронной почты: Составьте список адресов электронной почты, которым разрешен доступ к конфиденциальному маршруту. Сравните адрес электронной почты аутентифицированного пользователя (request.user.email) со списком разрешенных адресов электронной почты. Если адрес электронной почты пользователя находится в списке разрешенных, отправьте на его электронный адрес проверочный код. Предложите пользователю ввести проверочный код, полученный по электронной почте. Сверьте введенный код с кодом, отправленным на адрес электронной почты пользователя.

  3. Предоставление доступа: Если пользователь успешно прошел оба этапа аутентификации (2FA и проверку по электронной почте), предоставьте ему доступ к конфиденциальному маршруту. В противном случае откажите в доступе к маршруту.

Если кто-нибудь сталкивался с подобной реализацией, пожалуйста, подскажите мне направление

Вернуться на верх