Django: проверка телефона для неактивного аккаунта - PullRequest
1 голос
/ 15 января 2020

Я хотел бы реализовать проверку телефона с помощью pyotp в моем проекте Django (2.5) на основе классов.

После регистрации новых пользователей (с указанием имени, телефона, электронной почты и пароль) в RegisterView, они должны быть перенаправлены на GetAccessCodeView с полем ввода для кода подтверждения и скрытым полем с безопасным токеном. Для генерации и отправки кода и токена я должен передать туда вновь созданный пользовательский экземпляр от RegisterView до GetAccessCodeView.

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

...