Я хотел бы реализовать проверку телефона с помощью pyotp
в моем проекте Django (2.5) на основе классов.
После регистрации новых пользователей (с указанием имени, телефона, электронной почты и пароль) в RegisterView
, они должны быть перенаправлены на GetAccessCodeView
с полем ввода для кода подтверждения и скрытым полем с безопасным токеном. Для генерации и отправки кода и токена я должен передать туда вновь созданный пользовательский экземпляр от RegisterView
до GetAccessCodeView
.
Как я могу это сделать? В настоящее время вновь созданные пользователи имеют поле is_active
, установленное на False
(оно должно стать True
после успешной проверки кода), поэтому не может быть авторизовано по умолчанию, поэтому без изменения процедуры входа в систему невозможно напрямую использовать request.user
. Но если я позволю неактивным пользователям входить в систему, то все представления login_required
позволят неподтвержденным пользователям открывать соответствующие страницы. Должен ли я написать is_active
проверить для каждого представления вручную или, возможно, Django имеет некоторые готовые вещи, такие как 'login_and_active_required'? Или, может быть, есть другое решение?